关于int表示字符的困惑

img
注意到getchar()等函数的返回值最好用int型变量接受,说明int型变量也可用于存储字符(非EOF的返回值),那为什么不能用int数组存储字符串?
(图中456行都允许,第七行出现编译错误)

整型可以存字符,存下的是字符的ASCII码数值,但整型数组是无法存字符串的(注意,字符和字符串是两个不同类型的变量,例如'a'或者'4'为字符类型,"a"或者"abcde132dgd"等等之类的为字符串类型)。如果硬要通过可以写成如下形式,int a[3]; a[0]='a'; a[1]='b'; a[2]='c'; 这样表示的是分别将字符'a' 'b' 'c'赋值给整型变量a[0],a[1],a[2]而不是将字符串"abc"赋值给整型数组,此时存进去的值为字符 'a' 'b' 'c' 对应的ASCII码值。

u 整形数组无法存储字符串的,字符串需要连续的一字节内存空间,整形数组四个字节会切段字符串一个子节的。

这个好像我以前也遇到过