char str[]="abc"与char str[]={'a''b''c'}的大小


char str[]="abc"与char str[3]={'a''b''c'}的大小比较?
先纠正一个错误,char str[3]={'a', '岩森b', 'c'};/*用逗号隔开*/。

char str[]="abc"; 这个str占用4字节,这是因为C字符串,编译器会自动加一个'\0'。"abc"在内存中实际上是笑哪"abc\0",所以为四字节。
char str[3]={'a', 'b', 'c'}; 这个容易理粗升亩解,你定义时候已经定义为char [3],所以占3字节。
不好粗知道你讲的是哪方面的大小比较。
char str[]="abc"占4个字节,会自动加上'\0'作为字符串的结尾。
char str[3]={'a','b','友芹镇c'}占3个字节,就算你这样写:
char ch[]={'a','b','c'首肆};它还是占3个字节,这是逐个初始化的语法规定。
不知道我是不是牛头不搭马嘴。
str[]="abc",为数组赋值而一种形式,即晌态字符串形式;它里面个数随未定,但高尘有字符串可推出。字符串末尾结束标志‘、0’通常不写出来,但占用一个存储单元。故为4;后面元素数戚谨禅为3;
char str[]="abc"与char str[3]={'a''b''蔽宏闭c'}的绝咐大小比较?

char str[]="abc", 实际编译器编译时 数组中的内容为 a b c \0
char str[3]={'a''b''c'} 数组中内容为 a b c

所以数组空间大宏裂小不一样