温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言中字符串和字符数组的区别

发布时间:2020-07-13 15:39:09 阅读:642 作者:plan1230 栏目:编程语言
C语言开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

字符数组:

char a[2]={'a','b','c'};

char a[]={'a','b','c'};

字符串:

char a[3]={“abc”};

char a[3]="abc";   //此处可以省略大括号

char a[]="abc";     // 与char a[3]={'a','b','c','\0'};    相同

红字表明的地方为什么要变成3呢,因为字符串赋值给数组后,在最后会默认增加一个字符“\0”,多占用一个字符,如果定义的数组空间不够,可能引起存储错误,更改系统内存中其它数据,导致严重后果,如:

char a[2]="abc";

a[0]='a',

a[1]='b',

a[2]='c',

(a+3)指向地址空间被赋值为'\0',而这并不是程序所希望的,擅自删改内存中的数据,后果可想而知。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×