我定义了这么一个结构体:
struct word
{
char*word1;
int line[1000];
};
struct word danci
//然后用一个函数getword读取输入并给该结构体赋值,具体是怎么样就不写了
getword(danci,100);
然后:
printf("%d",danci.line[0]);
这句报错了,原因是struct word danci没有初始化
但是我把结构体中int line[1000]改为int*line再给line分配一个地址则不会报错。
请问这是为什么????
结构体中的指针和数组究竟有什么不同??
代码放不下我发贴吧上了http://tieba.baidu.com/p/2647520159?pid=40243893526&cid=
如果把结构体中的数组改为指针再分配一下空间就能正常运行了
是我没说清楚。。。不好意思,getword函数是我自己写的,不是标准库里的,代码链接我发上来了,帮忙看看吧
这里贴不下我发贴吧上了,帮忙看下吧
http://tieba.baidu.com/p/2647520159?pid=40243893526&cid=