为什么不能用整型数组对整型指针变量赋初值?

为什么不能用整型数组直接对指针变量赋值?而字符串数组却可以赋值给指针变量?

第1个回答  2022-09-20
这个与数据类型有关,数值只能赋值给数值,指针只能赋值给指针(除非强制转换,但这样容易出歧义或出错)。
如果定义整型数组int intArray[100],intArray本身是指针(即intArray[0]的存储地址,可赋给指针变量),intArray[0]、intArray[1]等是数值(不可赋给指针变量)。
如果定义字符串数组(char *)(strArray[100]),strArray本身是指针(strArray[0]的存储地址),而strArray[0]、strArray[1]等每一个也都是指针(即指向每一个字符串的首字符的地址,这些字符串可能存放在常量区或RAM区),所以都可以赋值给指针变量。