我对 C 中的指针有疑问。
[1] char *somestring = "somestring"
和
[2] int *someint = 45
为什么 [1] 有效而 [2] 无效?
我们为什么要
printf("%s",str1);
不是
printf("%s",*str1);
?
最佳答案
在 C 语言中,文字字符串基本上是一个(只读)字符数组,所以 char*(是的,它应该是 const char*,但它已被历史遗忘)。文字 int 不是数组或指针,因此指向它的指针是荒谬的。类型不匹配。
关于c - 关于C中char和int指针的几点疑惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16315036/