在C語言中,引用數組元素時,其數組下標的數據類型不允許是:
A.整型常量
B.整型表達式
C.整型常量或整型表達式
D.任何類型的表達式
正確答案:D
B整型表達式
比如:int a。
下標就可以是常量。
i=8,j=9。
a[i+j]也行,下標i+j就是整形表達式。
是的。C 語言規定,只能逐個引用數組元素,而不能一次引用整個數組。
數組元素的表示形式為:數組名[下標]。
下標可以是整型常量或整型表達式,比如:
a[0] = a[5] + a[7] - a[2 * 3]
定義數組時用到的“數組名[常量表達式]”和引用數組元素時用到的“數組名[下標]”是有區別的。定義數組時的常量表達式表示的是數組的長度,而引用數組元素時的下標表示的是元素的編號。
擴展資料:
示例代碼:
# include <stdio.h>
int main(void)
{
int a[5] = { 1, 2, 3, 4, 5}; //定義長度為5的數組a
int t;
t = a[3]; /*引用數組a中下標為3的元素a[3], 此時的3不代表數組的長度*/
printf("t = %d\n", t);
return 0;
}
輸出結果是:
t = 4
1、C89/C90標準:定義數組時下標只允許使用整型、字符型常量,引用數組時下標可以使用整型、字符型的常量或者變量
2、C99標準:定義數組時下標可以使用整型、字符型的常量或變量,但變量必須已經賦值;引用數組時下標可以使用整型、字符型的常量或者變量。以上所說的常量及變量均包含表達式。
擴展資料
1、數組包含給定類型的一些對象,并將這些對象依次存儲在連續的內存空間中。每個獨立的對象被稱為數組的元素(element)。元素的類型可以是任何對象類型,但函數類型或不完整類型不能作為數組元素。
2、在數組定義中,可以將元素數量指定為一個常量表達式,或者在特定情況下,指定為涉及變量的表達式。采用這兩種方式定義的數組分別被稱為固定長度數組和長度可變數組。
3、固定長度數組可以具有任意存儲類別:可以將它們定義在所有函數的外面或語句塊的里面,并且可以使用或不使用存儲類修飾符 static。唯一的限制是數組不能作為函數參數。一個傳入函數的數組參數需要被轉換為指向數組第一個元素的指針。
要引用數組宏的每個元素做些計算,可以將數組及數組的長度作為參數同時傳遞給調用函數就可以實現了,比如:
#include<stdio.h>
int sum(int a[], int size)
{
int i, result = 0;
for (i = 0; i < size; i++) {
result += a[i];
}
return result;
}
main() {
int a[8];
int s,i;
for (i = 0; i < 8; i++) {
scanf("%d", &a[i]);
}
s = sum(a, 8);
printf("%d", s);
}
A:
int
**pp;表示pp所指的是一個二維數組,所以它的引用可以這樣用pp[][]的形式;
D:
因為p[i]=&a[i*4];有p[0]=&a[0],所以*(p+2),
即p[2],指的是a[8];
*(*(p+2)+2)指的就是a[10];
p[0]->
a[0]
a[1]
a[2]
a[3]
p[1]->
a[4]
a[5]
a[6]
a[7]
p[2]->
a[8]
a[9]
a[10]
a[11]
C的錯誤就在于行指針超出范圍:最大只能是2
2024-07-20 22:12
2024-07-20 21:40
2024-07-20 21:14
2024-07-20 21:05
2024-07-20 20:53
2024-07-20 20:05