编译出错-用push_back函数将数存入结构体指针向量中编译不出错,运行的时候出不来!

问题描述

用push_back函数将数存入结构体指针向量中编译不出错,运行的时候出不来!

#include
#include
#include
using namespace std;
typedef struct person
{
string name;
vector length;
}person,*person_List;
int main()
{
int number;
person_List p;
person p1;

p = (person_List)malloc(sizeof(person));
for(int i = 0;i < 5;i ++)
{
    cin >> number;
    p->length.push_back(number);
}
for(i = 0;i < p->length.size();i++)
    cout << p->length[i] << " " ;
return 0;

}
用结构体p1是对的,但是用结构体指针就不对了,不知道为什么?求大神指导啊!

时间: 2024-10-30 14:58:10

编译出错-用push_back函数将数存入结构体指针向量中编译不出错,运行的时候出不来!的相关文章

c语言 结构体 指针-写了一个返回结构体指针的函数,编译时总是提醒没有初始化p,但是初始化了。

问题描述 写了一个返回结构体指针的函数,编译时总是提醒没有初始化p,但是初始化了. 源码 程序是用C写的,VS2013编译. 这是其中使用结构体的定义 这是哈夫曼函数的定义 解决方案 结构体指针的初始化 解决方案二: 哪有你所说的指针p啊 解决方案三: 是否用的c语言方式编译.编译器是否用c++方式编译

c语言-C语言求助!!!写了一个返回结构体指针的函数,编译时总是提醒没有初始化q,但是初始化了。

问题描述 C语言求助!!!写了一个返回结构体指针的函数,编译时总是提醒没有初始化q,但是初始化了. 下面是源码下载:http://pan.baidu.com/s/1dDhplwH 程序是用C语言写的,VS2013编译. 这是其中使用结构体的定义 这是哈夫曼函数的定义 解决方案 创建的时候可以 -- ,*q = NULL; malloc 之后 memset(q, 0 , sizeof(--)): 解决方案二: 创建的时候可以 -- ,*q = NULL; malloc 之后 memset(q, 0

struct-结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗

问题描述 结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗 //定义结构体//struct achievement{int number; char name[20]; char sex; float achievement1achievement2achievement3;}tab_achievement[N]; //读出文件函数//void read() {FILE *fp;int in;if((fp=fopen(""C:UsersAdminist

函数模板 结构体数组-C++中带有数组参数的函数模板是否可以实例化为结构体数组类型来进行比较等操作?

问题描述 C++中带有数组参数的函数模板是否可以实例化为结构体数组类型来进行比较等操作? 不管什么类型的数组,都有一些类似的操作,因此可以使用函数模板实现代码复用.但是我在实现"查找"功能时不知道怎么处理结构体数组.要保证函数模板不仅适用于结构体数组,还适用于其他数组.求助各位大神! #include using namespace std; #define N 10 struct stu { int num; double score; }; /*查找:查找某元素,返回其下标*/ t

调试-求大神~~ c free()结构体指针出错

问题描述 求大神~~ c free()结构体指针出错 本人菜鸟一枚,调试程序时发现下面的程序只要用free()来释放结构体指针就出错,百思不得其解,望大师指正!非常感谢啦! 注:本人用的是VC6.0.自己写的C程序,私心揣测难道是结构体指针特殊一点,或者我释放的方式不对~ 补充:C-Free 5.0上选择mingw5调试则没有问题!到底哪里有问题? #include <stdio.h> #include <stdlib.h> #include <malloc.h> st

c语言-C语言函数的形参(结构体类型)和实参类型(指针)可以不同吗?

问题描述 C语言函数的形参(结构体类型)和实参类型(指针)可以不同吗? int numstus; int lens; student pointer; void main() { int i=1; char str[2]; lens=100; pointer=(student *)malloc(lens*LEN); /分配内存*/ numstus=0; welcome(); /*欢迎界面*/ while(i>0) { i=menu_select(); /*控制菜单*/ switch(i) { c

c#-C# 调用c++函数 结构体 指针

问题描述 C# 调用c++函数 结构体 指针 求大神解答下, c++结构体: typedef struct { Byte byIndex; Byte byRW; }PACKET; typedef struct { PACKET *pPackets; INT32 iNumPackets; }BLOCK c++ 函数申明: BOOL Transfer(BLOCK block); C#如何调用这个Transfer函数: 1:定义C#结构体 public struct PACKET { byte byI

结构体 赋值 初始化-程序编译无问题,运行结果却因数据不同出现差错,新人求解!!!

问题描述 程序编译无问题,运行结果却因数据不同出现差错,新人求解!!! #include #include struct employee{ char name[20]; int age; char sex; float salary;};void main(){ struct employee *p; p = (struct employee *)malloc(sizeof(struct employee)); gets(p->name); p->age = 26; p->sex =

结构体的函数指针-结构体的函数的指针问题

问题描述 结构体的函数的指针问题 我在a.h中定义了结构体 typedef struct link_t{ int data; struct link_t* prior; struct link_t* next; }Node_t,Link_t; typedef struct{ void (*destory_link)(Link_t head); link_t (*creat_link)(int length); Node_t* (*delete_node)(Node_t node); Node_t