C語言中陣列元素下標的資料型別,在C語言中,引用陣列元素時,其陣列下標的資料型別允許是

2021-04-15 12:27:06 字數 2757 閱讀 9070

1樓:匿名使用者

c:整形常量,字元形常量或整形表示式

2樓:匿名使用者

c的陣列可以理解為數學中的含有第0項的數列 , 含有 a[0], a[1], a[n-1] 共 n 個資料,訪問是要用整形的***x去訪問。

這種題不要死記硬背~~

在c語言中,引用陣列元素時,其陣列下標的資料型別允許是

3樓:匿名使用者

b比如int a[20]

下表就可以是常量,

i=8 j=9

a[i+j]

也行,下標i+j就是整形表示式

4樓:匿名使用者

推薦回答b比如int a[20] 下表就可以是常量, i=8 j=9 a[i+j] 也行,下標i+j就是整形表示式

5樓:匿名使用者

a。陣列下標必須是整型的!而且c不會幫你去算,必須是個常量!

6樓:樹幹草莓

選a,整型常量表示式,整型表示式有可能是變數的,b不對

7樓:

想你想好想見你想你下班寫吧寫吧擺大巴

c語言中陣列元素的下標可不可以是陣列元素,另外··

8樓:無聲的硝煙

c語言程式執行時,陣列的存在形式是記憶體中的一塊連續地址空間。而訪問陣列元素時,計算機會將下標做為空間首地址的偏移量來進行定址,所以當然可以是任何整形數。

比如int array[10],array的地址是0x7fffff00,那麼在訪問array[3]時,計算機是這樣計算的:

每個整形數大小為4個位元組,所以用array的地址加上3乘以4,得到0x7fffff0c,那麼從0x7fffff0c到0x7fffff0f這4個位元組的值就是array[3]的值。

所以無論傳入的下標是什麼,理論上都可以計算得到一個地址,但是這個地址不一定是有效的。如果地址無效,就會發生段錯誤(segmentation fault),也即陣列越界/地址訪問越界。現在的編譯器會認為只要下標是個整型變數,就是可以的,但是執行的時候作業系統仍然會進行監測,否則會影響其他程式的執行。

比如說a = , b = ,那麼b[a[3]] = b[5]=6,這個是可以允許的。

9樓:匿名使用者

當然可以,只要能夠被解釋成整數的都可以

c語言中,定義陣列和引用陣列時,其陣列的下標的資料型別分別允許是什麼?

9、在c語言中,引用陣列元素時,其陣列下標的資料型別允許是

10樓:匿名使用者

a。陣列下標必須是整型的!而且c不會幫你去算,必須是個常量!

11樓:匿名使用者

選最後一個,任何型別的表示式。只要能夠轉換成int型別的,無論是什麼樣的資料或者表示式都可以,因為陣列下標實際上就是相對於基址的偏移,希望可以幫到你。

12樓:雯淺要快樂

在引用數值元素時下標可以是整型常量或整型表示式

在c語言中,引用陣列元素時,其陣列下標的資料型別允許是______。 a.整型常量 b.整型表達

13樓:惡疾臭魚

a和b都對,不過當然是c更完整,就像數人頭,總不可能有一點幾個人頭吧

14樓:明白小子天枰

c 如果是定義陣列長度的話就只能是a 這裡注意題名是引用 還是定義

c語言中,陣列中,陣列必須是陣列名常量表示式,對於陣列中元素的下標,下標能不能是變數?如圖,書上沒

15樓:我個去又被註冊

可以的,但是注意這個變數的取值範圍——在這個例子裡,得確保 i 是0到9的整數回,不然會出錯。答

另外,宣告陣列不能用變數的原因是,陣列一旦宣告就確定了(記憶體安排好了)。下標就可以用變數,呼叫的時候就顯得更方便靈活。

16樓:bbk臨兵

下標當然可以是變數,甚至還可以是表示式。

c語言中的陣列具有的特性是: a:所有元素具有相同的資料型別 b:元素下標從1開始

17樓:匿名使用者

a:所有元素具有相同的資料型別

>>正確. 定義陣列形式為 type name[size]; 每個元素的型別都是type.

b:元素下標從1開始

>>錯誤, 從0開始.

c:所有元素佔用連續的記憶體

>>正確. 陣列佔記憶體連續. 從陣列名即首地址開始.

d:陣列名是一個地址常量

>>正確. 陣列名值為陣列首地址, 型別為一個常量陣列指標.

c語言,陣列下標的資料型別,允許是整型常量或是整型表示式嗎?不是說只能是常量或常量表示式嘛?

18樓:gta小雞

陣列下標的資料類抄型可以是整型常量或整型表示式,而且大多數情況下必須是整型常/變數及其表示式。整型常量顯然屬於常量的一種,這是包含關係。下標不能為實型,「第3.

5個數」這樣的表達顯然是沒有意義的。

另外,陣列的下標也可以為字元型。編譯器在處理時會將字元型轉化為其ascii碼值,所以本質上還是整型。

19樓:陽光上的橋

定義陣列的時候只能是常量,使用的時候什麼都可以,而且往往都是變數。

c語言資料型別問題,C語言資料型別如何轉換

你這答案有點問題哦,前邊兩個元素是陣列,int和float都是四位元組,char是一個位元組,總共 4 3 4 16 44位元組,如果我算錯了你告訴我,我也學學 c語言資料型別如何轉換?不是有強制型別 轉換嗎?強制型別轉換 強制型別轉換 當運算元的型別不同,而且不屬於基本資料型別時,經常需要強制型別...

c語言中資料型別是按什麼劃分的,C語言中資料型別是按什麼劃分的

資料型別在資料結構中的定義是一個值的集合以及定義在這個 值集上的一內組操作。變數是用來儲存容值的所在處 它們有名字和資料型別。變數的資料型別決定了如何將代表這些值的位儲存到計算機的記憶體中。在宣告變數時也可指定它的資料型別。所有變數都具有資料型別,以決定能夠儲存哪種資料。根據預設規定,如果在宣告中沒...

c語言資料型別的轉換C語言資料型別的轉換

讓我來說說這個問題吧。一.自動轉換 自動轉換遵循以下規則 1 若參與運算量的型別不同,則先轉換成同一型別,然後進行運算。2 轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。a.若兩種型別的位元組數不同,轉換成位元組數高的型別 b....