C语言数组赋值的问题

为什么1、3可以,2、4不可以?指针数组不能字符和'\0'吗?那为什么1可以。。。1、char*a="xxxxxxxxxxxxxxxx";2、char*a[]="xxxx... 为什么1、3可以,2、4不可以?
指针数组不能字符和'\0'吗?那为什么1可以。。。
1、char *a="xxxxxxxxxxxxxxxx";
2、char *a[ ]="xxxxxxxxxxxxxxxx";
3、char a[100]="xxxxxxxxxxxxxxxx";
4、char a[100];
a[100]="xxxxxxxxxxxxxxxx";
展开
 我来答
JZG1992
推荐于2016-04-28 · TA获得超过113个赞
知道答主
回答量:82
采纳率:100%
帮助的人:38.5万
展开全部
对于你的问题分析:
1、a是个 char 类型指针, 保存char类型数据地址,所以是可以的。
2、a是个 char * 类型数组, 保存char *类型数据,不能保存char类型数据地址,应该
a[0] = "XXXXXXX";

3、a是个char类型数组,保存char类型数据,所以是可以的。
4、
1)、a[100] 数组越界(0-99)
2)、数组只能定义时可以全部赋值,其他只能一项一项赋值

3)、a[100] 只能保存一个char类型数据,不能保存地址或多个char类型数据

应该

a[0] = "X";

a[1] = "X";

。。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式