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

字符数组:

义乌ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

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',而这并不是程序所希望的,擅自删改内存中的数据,后果可想而知。


分享名称:C语言中字符串和字符数组的区别
本文路径:http://bzwzjz.com/article/pehdid.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站建设 成都网站设计制作公司 成都网站设计 成都网站设计 成都网站制作 成都网站制作 app网站建设 宜宾网站设计 外贸网站设计方案 高端定制网站设计 梓潼网站设计 成都网站设计 成都网站建设公司 手机网站建设套餐 网站建设改版 四川成都网站制作 网站建设推广 成都网站建设 H5网站制作 成都网站建设公司 成都网站建设推广 定制网站建设多少钱