首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

再次求教,该怎么处理

2012-06-06 
再次求教C/C++ code#include stdio.htypedef struct { char * a int b int c } tnodetnode *getmemo

再次求教

C/C++ code
#include <stdio.h>typedef struct { char * a; int b; int c; } tnode;tnode *getmemory(int);main(){ tnode *tn = getmemory(3); tn = {{"11111",3,4},{"dasds",3,4},{"dasda",5,6}}; putchar( *(tn->a) ); free(tn); tn = NULL; getchar();}tnode *getmemory(int num){ tnode *tn = (tnode *)malloc(sizeof(tnode)*num); return tn;}

这段代码出错,问题是下面这句话,看看出错再扫描地方,谢谢大家啦
 
C/C++ code
tn = {{"11111",3,4},{"dasds",3,4},{"dasda",5,6}};


[解决办法]
分别赋值,另外,tnode里的a也要分配内存
[解决办法]
tn = {{"11111",3,4},{"dasds",3,4},{"dasda",5,6}}; 

不能这样赋值的 分开分步赋值
[解决办法]
探讨

分别赋值,另外,tnode里的a也要分配内存

[解决办法]
tn = {{"11111",3,4},{"dasds",3,4},{"dasda",5,6}};
初始化的时候可以这样子, 赋值的时候不能这样!

struct { char * a; int b; int c; } tnode;
里边的a还是个空指针呢? 要不定义为数组 要么在分配内存的时候也捎带着给new出来空间
[解决办法]
C/C++ code
#include <stdio.h>typedef struct { char * a; int b; int c; } tnode;main(){ tnode tn[3] = {{"11111",3,4},{"dasds",3,4},{"dasda",5,6}}; putchar( tn[1]->a[0]) ); getchar();} 

热点排行