C語言中每個變數或者元素都有下標,下標的作用是什麼?謝謝

2021-03-27 22:40:10 字數 4136 閱讀 4503

1樓:育知同創教育

c語言中變數或者元素都有下標,是因為表示陣列的某個元素,比如a[4],表示陣列的第5個元素,陣列元素下標是從0開始的。

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

2樓:我個去又被註冊

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

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

3樓:bbk臨兵

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

c語言中陣列的下標可以是字元嗎?代表什麼意思?

4樓:匿名使用者

c語言陣列的下標只能是合法的整型值。

當下標為字元時,有兩種可能:

1 以字元常量作為下標。如內a['a'];表示'a'的ascii碼對容應的陣列偏移量。在實際應用中不常見,但是從語法上來說是合法的。

2 字元本身為變數。如

int i;

int a[100];

for(i = 0; i < 100; i ++)printf("%d\n", a[i]);

這裡的a[i],下標就是i,本質上i是一個變數,訪問的時候是根據變數值進行訪問對應元素的。

5樓:匿名使用者

下標來是一個數字,一般都是這樣的。

自char 在c語言中,也算一個數吧,比如,你會發現字元'a'和其對應的ascii碼98(??),所以這樣子用是可以的。

不過,切記,char的範圍,它在-128~128之間,如果,沒有使用好,比如ch++的,導致溢位,那可是會一直迴圈下去的。

6樓:匿名使用者

可以的代表 字元對應的整型值

如 'a' 對應是 65

但是 使用字元 需要注意它的範圍

7樓:匿名使用者

ch是變數名。

在定義陣列的時候[ ]中必須是確定的整數,而在引用時可以是變數名,但是不能越界

s[ch]表示陣列第ch+1個元素

8樓:匿名使用者

不能是字元,ch應該是個int的變數,你可以在上面仔細找找。

c語言中陣列元素下標的上下限是什麼?

9樓:金色潛鳥

上下限就是 最大允許 下標

數值 和 最小允許 下標數值。

int c[5]; 允許的下標值是 0,1,2,3,4所以 最大下標 4,最小下標 0

也就是 可以 用 到 c[0] 和 c[4];

不允許用 c[5],c[6]...

不允許用 c[-1],c[-2]...

10樓:匿名使用者

例題:(1)在c語言中,若定義一個一維陣列int c[5];則c陣列元素下標的上限是_4_,下限_0_

其實c語言是不檢測下標是否越界的。你寫c[7],c[-2]都不會報錯

c語言:下標在陣列中起什麼作用?取值範圍?

11樓:匿名使用者

這樣可以很bai方便的獲得該下du標下的值,使用zhi起來比較方便。例如daoint a=new int [10];這個就

內是宣告並初始化一個容int資料a,該陣列包含10個int數值,下標從0倒9;也就是a.length-1;如果要獲取其中的值只要使用下標就可以,

for( i=0;i

【好久沒用c了,右點忘了,不知道有沒有出入】

12樓:匿名使用者

確定陣列裡面元素的位置,取值範圍:0到n-1;總共為n個,

13樓:匿名使用者

使用者可以根據下標來查要得資料 取值範圍應該是陣列的個數-1因為陣列的下標是從0開始的

14樓:匿名使用者

尋找變數地址 範圍0~陣列大小

請問:c語言中,陣列元素引用時下標的下限是什麼?

15樓:匿名使用者

下限是0

上限應該是long型的最大值,不過這個也不確定,各個編譯器各個作業系統有不同的處理方法。

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

16樓:無聲的硝煙

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,這個是可以允許的。

17樓:匿名使用者

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

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

c語言中,陣列元素的下標下限為

18樓:行了我

c語言中,陣列元素的下標下限為0。

陣列中的各元素的儲存是有先後順序的,它們在記憶體中按照這個先後順序連續存放在一起。陣列元素用整個陣列的名字和它自己在陣列中的順序位置來表示。例如,a[0]表示名字為a的陣列中的第一個元素,a[1]代表陣列a的第二個元素,以此類推。

對於vb的陣列,表示陣列元素時應注意:下標必須為一段連續的整數,其最小值成為下界,其最大值成為上界,不加說明時下界值預設為1。

擴充套件資料:

陣列宣告上下界

宣告陣列時,在陣列名之後跟一個用括號括起來的上界。

上界不得超過 long資料型別的範圍(-2,147,483,648 到 2,147,483,647)。

1、模組宣告

dim counters (14) as integer '15 個元素。

dim sums (20) as double '21 個元素。

第一個宣告建立了一個有 15 個元素的陣列,其索引號從 0 到 14。

第二個宣告建立了一個有 21 個元素的陣列,其索引號從 0 到 20。預設的下界為 0。

2、關鍵字 to 顯式宣告

dim counters (1 to 15) as integer

dim sums (100 to 120) as string

在前述宣告中,counters 的索引值範圍從 1 到 15,而 sums 的索引值範圍從 100 到 120。

19樓:帥小凡

是 65535,也就是你最大可以 int array[65536];

我親自做過實驗的,

如果你非要 int array[65537]的話,編譯也不會出錯,不過array[0]一定是等於array[65536]

20樓:天堂妹兒

一個陣列單元的引用方法是陣列加上方括號括起來的整數。用方括號括起來的整數是陣列下標,陣列下標從0開始,最大不能超過:陣列長度-1。

陣列下標可以是整型變數或整型表示式,但不能是浮點型的變數或浮點型表示式;並且下標不能大於:陣列長度-1。因為超過部分沒有被定義過,是不能正確使用的。

如果定義了「int s[6];」,s陣列的六個元素的引用方式是s[0]、s[1]、s[2]、s[3]、s[4]和s[5]。

c語言中如何依次輸入陣列中元素,C語言中如何依次輸入陣列中元素

include int main int a 17 int i for i 0 i 17 i scanf d a i return 0 函式功能 把格式化的資料寫入某個字串 函式原型 int sprintf char buffer,const char format argument 返回值 字串長...

c語言中怎麼將數字變數轉換成字元變數

int i 10 char a 10 char b itoa i,a,10 這邊標c裡面有沒有返回值的我忘了,如果沒有返回值的 話,a 10 直接就是你要的結果了,自己試試吧,引數肯定對的 樓上的扯淡,強轉都比你這個靠譜 強制轉換 int a char a int n 40 char a n c語言...

c語言中,float型和double型變數如果不指定寬度,應

double與float的區別在於在記憶體中存放資料時佔用的記憶體不一樣,前者8位元組,後者4位元組,也就是前者儲存的小數位數比後者多一倍。舉例說明對於1.9999996666,按照float輸出,結果可能為1.999999,如果按照double可能為1.999999。因為c語言預設輸出小數位數都取...