1 C語言中,陣列名是不可變的()量,不能對它進行加 減和賦值運算

2021-04-21 10:02:08 字數 1349 閱讀 3428

1樓:自我程式設計

陣列名是來指標常量,

自不能進行賦值,可以在表bai達式中作為參du數參與加減。

比如zhi char s[10],s表示一個指dao向陣列首地址的指標常量,printf("%c",*(s+1));可以列印s+1地址的值。但s++;不行,因為s++相當於s=s+1;賦值就不行了。

2樓:聽不清啊

c語言中,陣列名是一個不可變的(地址常)量,不能對它進行加、減和賦值運算

3樓:匿名使用者

是常量指標,對它可加n,表示a[n],而b=a-n語句沒問題,但沒意義,b所指向的內容未定義,故可加不要減,常量當然不能在被賦值

4樓:無語人未休

c語言中,陣列名是一個不可變的(地址常)量

5樓:處搖胼手胝足

指標常;

陣列名就是常量指標,指向陣列首地址

陣列名是一個【 】常量,不能對它進行自增、自減和賦值運算。

6樓:匿名使用者

陣列名型別是type,其

bai值與陣列首元素du的地址相zhi同,但代表dao整個陣列,且陣列名的值在內一開始就確定容無法改變,故為常量。從另外一方面來說如果可以自增,則陣列名的自增步長是陣列長度,顯然不可能。

!!! 陣列名不是指標!!!

7樓:我很無語中

有點模糊,應該說的是指標吧

在c語言中,陣列名是一個( )常量,不能對這進行( )和( )運算,由( )代表它的首地址。

8樓:匿名使用者

地址賦值 自加自減陣列名

9樓:

指標 自增 自減

第四個空題意不明:

陣列由陣列名代表它的首址

陣列名本身只有一個存放地址,不存在首址的問題儲存陣列首址需要用指向指標的指標

如陣列名是a

則 type **a = &a即可

10樓:

1空:地址

2空:賦值

3空:移動(+,-)4空:

為什麼c語言中,陣列名是一個地址常量,不能對它進行賦值運算

11樓:匿名使用者

在最終的來彙編結果中,陣列名只是源一個標號,對

bai應一du個地址,在程式中使用數zhi組就是要dao替換成這個起始地址,因此作為標號本身是不可以修改的,也不是一個變數。

用陣列名進行計算就是用陣列起始地址計算,但不可以給陣列名重新賦值

c語言中陣列名是地址變數嗎,c語言中陣列名是一個地址變數嗎

結構體名相當於類名,作用也與類名相近似。也可以將結構體名類比為自定義型別名,等同於int,double,float等,通過結構體名定義變數。在c語言中陣列名是一個什麼的常量 陣列名是代表該陣列的首地址且符合識別符號書寫規定的變數識別符號。整個陣列是以首地址開頭的一塊連續的記憶體單元。如有字元陣列ch...

c語言中陣列名作為函式引數,C語言中,陣列名作為函式引數,屬於什麼傳遞,為什麼?

因為你從主函式傳過來之後,是給了a 10 啊,與arrlen無關啊,而且在呼叫函式時是會給區域性變數重新分配記憶體,但這也只是說原先那個記憶體消失了,那麼記憶體裡面的值也會消失了,就會重新執行rrlen sizeof a 4 函式定義和宣告的引數應該是 intoid check struct snm...

從編譯器角度分析C語言中陣列名和指標的區別

從編譯生成的角度來說 陣列名 沒有本身的儲存空間,其只是一個地址。代表陣列的首地址。於是 陣列名的值 不可能被改變。而指標 是一個變數 有自身的儲存空間 可以被改變值 執行數學操作。c語言中陣列名和指標的區別 陣列在當作引數傳遞時,可以當作指標 當然,引數傳遞相當於賦值操作,所以用指標來接受陣列的值...