假設,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