假设,sizeof(int)和sizeof(int *)之间的区别是什么?此语句是否为int * numbers [] = {....}是否正确?
int numbers [20];
int * p;
我觉得这是语句有效
p = numbers;
但由于numbers
是一个数组,作为一个常量指针操作,这不是
numbers = p;
,我们不能将值分配给常量。所以如果我们这样做,那么在初始化数组时,我们不能使用*numbers
?
假设,sizeof(int)和sizeof(int *)之间的区别是什么?此语句是否为int * numbers [] = {....}是否正确?
int numbers [20];
int * p;
我觉得这是语句有效
p = numbers;
但由于numbers
是一个数组,作为一个常量指针操作,这不是
numbers = p;
,我们不能将值分配给常量。所以如果我们这样做,那么在初始化数组时,我们不能使用*numbers
?
INT编号[20]; int * p;
我认为这是声明是有效的
p = numbers;
是
但这不是
数= P;
因为数字是一个数组,所以它是一个常量指针,我们不能将值赋给常量。
numbers
不是一个常量指针,它是一个不可修改的lvalue
所以你不能指定它。
sizeof(int)
返回一个整数的尺寸上的任何特定的实施
sizeof(int*)
一个指针的大小返回到一个整数。
的sizeof()
返回类型是size_t
(无符号)
sizeof(int)
返回用于存储一个int
sizeof(int*)
返回用于存储指针
字节数要声明的初始化可以使用以下语法整数的常数阵列的字节数:
int numbers[] = { 0, 1, 2, 3 };
sizeof(int)
是数据类型的大小,sizeof(int*)
是一个指针的数据类型的大小。
不能分配p来的数字,因为数字被声明为固定长度基于堆栈的整数数组,它不是一个int指针(尽管它可以转换为一个)
我不明白“在初始化数组时使用*数字”。 – 2010-09-28 09:40:21
http://www.catb.org/esr/faqs/smart-questions.html – sellibitze 2010-09-28 09:43:41
问题的标题与问题的主题不符。请尽量在将来更加精确,以便更容易回答,并且对于那些怀有同样疑虑的其他人,可以找到解决方案。 – Francesco 2010-09-28 11:01:10