1樓:格仔裡兮
若有說明:int a[3]=;則陣列a第一維的大小是3。
int a:第乙個中括號表示有此二維陣列有幾行,第二個表示有幾列。
故int a[3]=;說明此陣列有n行,3列;也就是說每行有三個元素,所以第一行有1,2,3 這三個元素,第二行有4,5,6三個元素,第三行有7這個元素,不足的兩個元素由0來補足。
對陣列進行初始化,要麼兩個維度都不寫,由賦值的陣列確定,或者第二維可以不寫,第一維要寫,再由賦值陣列確定。
陣列中的下標是從 0 開始的(而不是 1)。那麼,如何通過下標表示每個陣列元素的呢?通過「陣列名[下標]」的方式。
例如「int a[5];」表示定義了有 5 個元素的陣列 a,這 5 個元素分別為 a[0]、a[1]、a[2]、a[3]、a[4]。其中 a[0]、a[1]、a[2]、a[3]、a[4] 分別表示這 5 個元素的變數名。
如果從 1 開始,那麼陣列的第 5 個元素就是 a[5],而定義陣列時是 int a[5],兩個都是 a[5] 就容易產生混淆。而下標從 0 開始就不存在這個問題了!所以定義乙個陣列 a[n],那麼這個陣列中元素最大的下標是 n–1;而元素 a[i] 表示陣列 a 中第 i+1 個元素。
另外,方括號中的常量表示式可以是「數字常量表示式」,也可以是「符號常量表示式」。但不管是什麼表示式,必須是常量,絕對不能是變數。
c 語言不允許對陣列的長度進行動態定義,換句話說,陣列的大小不依賴程式執行過程中變數的值。非通常的情況為動態記憶體分配,此種情況下陣列的長度就可以動態定義。
2樓:誠孓
選b。int a[ ][3]中的3代表這個二維陣列是3列的。
所以該陣列排列如下。
1 2 3
4 5 6
7 0 0
所以該二維陣列為int a[3][3]。
即有3行3列。
所以答案是b。
3樓:匿名使用者
第一維的大小確定方法,用花括號中初值的個數除以第二維的常量表示式,當得到結果為整數時,為第一維的大小,如果不是整數,得到的結果的整數部分加1就是第一維的大小
若有說明:int a[][3]={1,2,3,4,5,6,7};則 a陣列第一維的大小是( ) a、2 b、3 c、4 d、無確定值
4樓:匿名使用者
最高維留空, 按照初始化元素來進行分配.
這裡每行三個. 所以 123給第一行. 456給第二行. 7給第三行.
所以是三行.
第一維為3.
5樓:倒霉熊
第二維的大小是3 ,也就是 一行 有3個元素,
而後面給出了7個元素,也就是2行多,所以總共3行,選擇b。
12. 若有說明:int a[][3]={1,2,3,4,5,6,7};則陣列a第一維的大小是( )。
6樓:格仔裡兮
若有說明:int a[3]=;則陣列a第一維的大小是3。
int a:第乙個中括號表示有此二維陣列有幾行,第二個表示有幾列。
故int a[3]=;說明此陣列有n行,3列;也就是說每行有三個元素,所以第一行有1,2,3 這三個元素,第二行有4,5,6三個元素,第三行有7這個元素,不足的兩個元素由0來補足。
對陣列進行初始化,要麼兩個維度都不寫,由賦值的陣列確定,或者第二維可以不寫,第一維要寫,再由賦值陣列確定。
陣列中的下標是從 0 開始的(而不是 1)。那麼,如何通過下標表示每個陣列元素的呢?通過「陣列名[下標]」的方式。
例如「int a[5];」表示定義了有 5 個元素的陣列 a,這 5 個元素分別為 a[0]、a[1]、a[2]、a[3]、a[4]。其中 a[0]、a[1]、a[2]、a[3]、a[4] 分別表示這 5 個元素的變數名。
如果從 1 開始,那麼陣列的第 5 個元素就是 a[5],而定義陣列時是 int a[5],兩個都是 a[5] 就容易產生混淆。而下標從 0 開始就不存在這個問題了!所以定義乙個陣列 a[n],那麼這個陣列中元素最大的下標是 n–1;而元素 a[i] 表示陣列 a 中第 i+1 個元素。
另外,方括號中的常量表示式可以是「數字常量表示式」,也可以是「符號常量表示式」。但不管是什麼表示式,必須是常量,絕對不能是變數。
c 語言不允許對陣列的長度進行動態定義,換句話說,陣列的大小不依賴程式執行過程中變數的值。非通常的情況為動態記憶體分配,此種情況下陣列的長度就可以動態定義。
7樓:匿名使用者
int a;第乙個中括號表
示有此二維陣列有幾行,第二個表示有幾列;
故int a[3]=;說明此陣列有n行,3列;也就是說每行有三個元素,所以第一行有1,2,3 這三個元素,第二行有4,5,6三個元素,第三行有7這個元素,不足的兩個元素由0來補足
故此定義下陣列a第一維的大小是3
8樓:匿名使用者
若有說明int a[3][4];則對a陣列元素的正確引用是 a[1][3]。a[2][4]越界了最後乙個元素a[2][3] 引用時下標從0開始第一行a[0][0] a[0][1]。
。。第三行a[2][0] a[2][1]。。。程式1。
//定義為區域性性質的陣列#include void main() printf("
");}。
9樓:匿名使用者
3,除錯一下就知道了
c語言問題 若有說明int a[][4]={1,2,3,4,5,6,7,8,9};,則陣列a第一維
10樓:格仔裡兮
若有說明int a[][4]=;則陣列a第一維是3。
定義陣列並賦值時c語言規定下標是這樣的,a[n]中的n個元素應該是a[0]....a[n-1]。。
因此int a[4]的寫法就是表示,第一維大小沒限制,但是第二維陣列大小就是4,也就是int a[4]=,,},明顯是3。
分析:二維陣列的一維大小,即指二維陣列的行數,在本題中,按行對二維陣列賦值,因此內層有幾個大括號,陣列就有幾行。
11樓:杜爺1號
答案是b,3.
int a[4]的寫法就是表示,第一維大小沒限制,但是第二維陣列大小就是4,也就是int a[4]=,,},明顯是3.
12樓:小兆
你定義的就是乙個二維陣列,第二維的個數是4,為了把所有的資料能分成四份有沒有遺漏,那第一維就是3了。
13樓:寂寞的菸頭哥
首先看陣列後面為4表示有四列二維陣列是
1234
5678
9000
這裡就可以很明顯的看出是三行,所以就是a[3][4],第乙個叫做第一維,第二個叫做第二維
c語言題目:若有說明int a[][5] =({1,2,3},{4,5},{6,7});則陣列a的第一框大小為()
14樓:匿名使用者
表示二維陣列,第乙個表示行數,第二個表示每一行最大容量。
所以第一框為 3。
若有說明:int a[][3]={1,2,3,4,5,6,7,8,9,10};則a陣列第一維的大小是 答案是4 為什麼?
15樓:石頭人浮士
因為陣列有10個數字,二維有三個數,10/3>3,所以計算機會自動將a陣列變成a[4][3]
因此一維的大小為4,「4」指一維有四個元素,而每個元素有3個數字
若有定義:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},(*p)[4];p=a; ,( )對陣列a元素的引用是正確的。
16樓:處搖胼手胝足
a。a陣列的長度是3,*(p[4])和**(p+4)都會造成超出位址範圍
(**p)[2]表達不正確
*(p[2]+3) 是a[2][3];
17樓:匿名使用者
int (*p)[4];表明p是行指bai針,即p指向二維陣列中的一du行。zhi
p=a;這一句表示
daop指向a[0],也就是
版指向a陣列第0行的第0個元素權
(a[0][0])的位址。
p[2]表示p指向a陣列的第二行,即指向a[2]行,也就指向a[2][0]的位址。
p[2]+3表示行指標指向a陣列的第二行(從第0行開始),(從0開始)第3個元素,也就是a[2][3],*(p[2]+3)表示第2行,第3個元素的值。
p+4表示第四行(從0行開始),因為a陣列沒有第四行,所以是錯的。
p[4]表示第四行(從0行開始),原因同上。
*p表示a陣列第0行,第0列位址,**p表示a[0][0]的值,值不會再包含元素,所以(**p)[2]是錯的。
若有說明:int a[][3]={1,2,3,4,5,6,7};則a陣列第一維的大小是多少。求思路
18樓:匿名使用者
7除以3上取整得到3,因此第一維是3,最後一行的最後兩個元素為0
若有說明陣列inta4則以下對陣列a的
c唄,裡可以用運算子,只要不超過規定的最大數減一就行。c是對的 a的那個4已經超出範圍了 b,沒有這種寫法 d不能用圓括號,只能用方括號 若有說明 int a 3 4 則對 a 陣列元素的正確引用是 a 2 4 越界了 最後乙個元素a 2 3 引用時下標從0開始 第一行a 0 0 a 0 1 第三行...
若有說明int a 2 p a,q p則一下非法的
da是整型數,int p,q定義了指標,p,q是指向整型的指標。p取得a的位址內 容,而q取得p的位址 p,q是指標 也就是乙個位址 而 p和 q是這個指標指向的整型數值 存放在這個位址的值 a 把q的位址賦給p,則p和q完全一樣了,都指向乙個數2b 把q中資料給p c 把q中資料給a d a中資料...
c語言指標問題。若有int a0,1,2,3,4,5,6,7,8,9,0p a,i
a.a p a p a,p a 0,這裡就是bai引du用 a 0 b.a i a i 表示取第i 1個元素的位址zhi,位址,表dao 示引用位址中版的資料,這裡就是引用a i c.p i p是指標,位址,可以用權陣列元素引用方式來引用陣列元素。p i 就是a i d.a i a i是第i 1個元...