永发信息网

C++中,字符型数组初始化时超过数组长度会怎样

答案:4  悬赏:0  手机版
解决时间 2021-03-10 17:18
比如 char ch[4]={'a','b','c','d','e',''f,'g'};

以及char ch[4]={'a','b','c','d','e',''f,'g','\0'};和上面的语句如果直接输出有什么不同
最佳答案
char ch[4]={'a','b','c','d','e',''f,'g'};

ch[4] 但初始化7+1个字符 产生了数组越界!
修改成:
char ch[]={'a','b','c','d','e',''f,'g'}; //不写,则根据初始化值自动分配相应的空间


char ch[8]={'a','b','c','d','e',''f,'g'}; //至少要比初始化数据多才可以
全部回答
数组名视为“指针常量”(即不可以改变指向),所以str3="string";是错误的;而字符指针是可以改变指向的,所以char *str3;str3="string";是对的。
初始值超过长度,编译器会报错。
在不保存的前提下,第二个会正常输出,第一个会输出 abcdefg烫烫烫烫烫烫 但两个其实都是超出数组,属于非法地址操作。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
win8.1系统,笔记本。一次开机校园连不上了,
红米手机如果带电安装内存卡会怎么样
按揭买车是什么意思
一只养了一年的比熊狗送人了它会不会觉得是我
伊兰皮艺有限公司在什么地方啊,我要过去处理
langh 动词的分词形式。
【中漫】漫山遍野中漫的意思是什么?
为什么高温天气蓟马打药效果不好
刺五加水泡脚好吗
在聚美优品上买化妆品好还是在淘宝上买的好啊
徐家土菜馆这个地址在什么地方,我要处理点事
【十八岁出门远行读后感】十八岁出门远行作文
如果你一贫如洗,我将会是你最后一件行李。
一岁左右的宝宝能吃酱油吗
劝别人不要踩小草的作文6oo字
推荐资讯
我在药店买了一盒百消丹 吃了两天拉肚子是怎
龙山中点站到慈溪坐几路车
时空猎人魔狼用什么技能刷图好
路由器管理界面显示异常自动恢复默认设置
喝蒲公英茶可以祛痘吗
手机为什么锁不了屏幕
杨澜现在在干什么
芝厦旺角ktv怎么样 急
美军在朝鲜战场是否使用瓦斯弹攻占碉堡
2020年七天学案学练考九年级英语下册人教版答
什么菜含维生素E多
如果银行问你作为应届毕业生为什么要进这个银
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?