<分区>
假设,
int numbers [20];
int * p;
我认为这个说法是有效的
p = numbers;
但这不是
numbers = p;
因为 numbers
是一个数组,作为常量指针操作,我们不能给常量赋值。那么,如果我们这样做,那么我们不能在初始化数组时使用 *numbers
吗?
<分区>
假设,
int numbers [20];
int * p;
我认为这个说法是有效的
p = numbers;
但这不是
numbers = p;
因为 numbers
是一个数组,作为常量指针操作,我们不能给常量赋值。那么,如果我们这样做,那么我们不能在初始化数组时使用 *numbers
吗?
最佳答案
int numbers [20]; int * p;
I think this is statement is valid
p = numbers;
是
But this is not
numbers = p;
Because numbers is an array, operates as a constant pointer, and we cannot assign values to constants.
numbers
不是一个常量指针,它是一个不可修改的左值
,所以你不能给它赋值。
sizeof(int)
在任何特定实现上返回整数的大小
sizeof(int*)
返回指向整数的指针的大小。
sizeof()
的返回类型是size_t
(无符号)
关于c++ - sizeof(int) 和 sizeof(int*) 有什么区别?此语句 int* numbers[] = {....} 是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3811440/