为什么数组变量不能赋值字符串常量
为什么数组变量不能赋值字符串常量好几年不碰C语言了,遇到了个很初级的问题居然一时间懵了,问了一下身边的人居然也解释不清,记录一下。char c[10];printf("c = %s\n",c);大家都知道这种写法是错误的,但是为什么是错的呢?在《c与指针》这本书里就提到过:字符串常量的直接值是一个指针,而不是这些字符本身。而我们都知道数组名本身就是一个地址常量,而地址常量是不可改变的。所以c=“hello”; 这条赋值语句就相当于在改变数组的地址常量,这显然是错误的。这里还有个问
原创
2020-12-24 17:46:41 ·
1227 阅读 ·
4 评论