> 馆藏中心

C结构体数组三种方式赋值问题

来源:cnblogs 编辑:从大磊

你没有申请struct的空间,只是声明了啊,在main里加入:student stu[10];就OK了怎么可能不需要啊,你说链表中需要,那是肯定的像这样,简单点说就是你把student看成是跟int,float,double一样的基本类型,这样你就会处理了,你认为int stu[10];这样的东西都不需要申请空间吗?如果不申请,那好比这样:int*a;这里只有个指针,并没有实际的空间a=new int(10);这样才做了申请空间的动作;以上2个语句何以:int a=10;这样便达到了上边2条语句的效果但有一点不同就是new分配的是堆空间,这跟直接int i=10;不一样!但效果是一样的!如果是C语言的全局变量,这就不需要申请空间,全局变量生命周期在整个程序开始到结束!www.179s.com防采集请勿采集本网。

噢!问题找到了,问题出在编译软件上,Dev-C++,一看名字就是对C++进行的编译,而C与C++在某些细节上是有区别的。

你的那本应该是关于C的书吧,里面没有讲到C与C++在结构体复制上的区别。

不可以,要是指针的赋值就可以,例如typedef struct a{ int y;};int main(){ struct a aa[3]={{2},{4},{6}};struct a*bb;bb=aa;printf(\"%d\",(bb[0]).y);return 0;}

你的编译软件Dev-C++是可以编译C,也可以编译C++文件,一个后缀是.c另一个后缀是.cpp,但主要是编译C++,一看软件的名字就知道了

同学,楼上的说的对!少了个& 数组不是不用& 而是字符型数组才不用,你定义的是 Int 型数组,所以要用。你仔细试试,肯定是这样。如果还有问题,可以追问我!谢谢!

当我使用Dev对.c文件进行编译的时候,报错更多了

没有问题呀 这是我的测试代码 include include typedef struct ST_Jpeg_Data { char Buff[4];char index;long songIndex;long checkIndex;}t_t;int main() { t_t a[10]={0};t_t*t=NULL;t=a;

奖励园豆:5

#include include include typedef struct hui{ char data[20];你写的是指针,要开数组的话必须用malloc开空间,我是 用直接改为数组了。int top;}*Hui;int IsHui(char*s);void main(){ char c

============================================

这也就意味着,你选择的编译软件不对,并不能说你的代码是错的,对于Dev编译器报错,我找到了相关的解释,请看文章->https://www.cnblogs.com/heartchord/p/4797723.html

请务必看完,里面有C与C++的区别

============================================

而我换了一个编译软件,换成了支持C语言又支持C++的Clion,新建了一个关于C的编译环境就可以成功编译你的代码了

============================================

这是具体编译运行结果

============================================

@Conan-jine: 谢谢前辈,有些问题,我发你消息了。

?/*因编译器而异,我的编译器就可以这样赋值。对于你的,首先检查你的代码中的标点符号是否是英文标点符号。还是不行的话,可以这样,看例子:*/includeincludestruct{char*name;int n;}people[3];int main(){char*arr[3]={"aimi内容来自www.179s.com请勿采集。

本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。本文《C结构体数组三种方式赋值问题》转载自cnblogs,版权归原作者所有,若侵权请联系:E-MAIL:513175919@qq.com
违法违规信息请立即联系本网可获得现金奖励,TEL:1-8-2-1-0-2-3-3-3-8-1(电话仅供违法违规信息举报,侵权类信息请EMAIL。)

www.179s.com false 互联网 http://www.179s.com/jsblogcnk/po/pohoax.html report 2819 噢!问题找到了,问题出在编译软件上,Dev-C++,一看名字就是对C++进行的编译,而C与C++在某些细节上是有区别的。你的那本应该是关于C的书吧,里面没有讲到C与C++在结构体复制上的区别。你的编译软件Dev-C++是可以编译C,也可以编译C++文件,一个后缀是.c另一个后缀是.cpp,但主要是编译C++,一看软件的名字就知道了当我使用Dev对.c文件进行编译的时候,报错更多了奖励园豆:5============================================

热门图片

经济金融企业管理法律法规社会民生科学教育降生活体育运动文化艺术电子数码电脑网络娱乐休闲行政地区心理分析医疗卫生