c語言中,整型陣列的陣列名錶示指向該陣列的元素的指標,那麼字元陣列的陣列名也表示指向元

2021-05-20 14:57:14 字數 2523 閱讀 4032

1樓:天雨下凡

是的,陣列名都是表示指向第一個元素的指標,也就是說陣列名是一個指標,但是要注意,陣列名這個指標是不能修改的。

在c語言中陣列名是一個什麼的常量

2樓:匿名使用者

陣列名是代表該陣列的首地址且符合識別符號書寫規定的變數識別符號。

整個陣列是以首地址開頭的一塊連續的記憶體單元。如有字元陣列char c[10],設陣列c的首地址為2000,也就是說c[0]單元地址為2000。則陣列名c就代表這個首地址。

因此,在使用scanf()函式的時候,變數c前是不能新增地址運算子&的,scanf("%s",&c);則是錯誤的的寫法。

3樓:聽不清啊

在c語言中陣列名就是一個指向同名陣列首地址的一個(該陣列元素型別的)指標常量。

例如:int a[100];

那麼,a就是一個指向a[0]的int 型的指標常量。

4樓:匿名使用者

int [10] 型別

理解成:int陣列型別,陣列大小為10。

你可以使用這個檢視:

#include

using namespace std;

int main()

{int ar[10];

cout<或者你在編譯器裡面單步除錯到int ar[10],然後在變數檢視視窗裡面可以看到該變數ar的型別。

5樓:

int a[10]; //a的型別為const int *,是常值整型指標,不能改變a的值。

6樓:匿名使用者

陣列名代表該陣列的起始地址,沒別的意思,你可以用vc++除錯,可以看到陣列名,就是一個地址

7樓:1234567珏

陣列名 代表首地址,,,這樣看來可以當做int 但貌似可以自定義。。

c語言 定義陣列前加個星號什麼意思?具體說一下。陣列指標難道就是這樣定義,初始化的?那陣列名就是c

8樓:緩緩掉落的松針

char *ch[4]=;

這句話的意思是這樣,定義一個指標陣列ch[4],這個陣列裡面每個元素都是指標,這些指標是r、專g、b這三個字串的頭指標,還有一個是指向「\0」的作為字串的結束標誌。

簡單點說,這樣的定義是定義一個二維字元陣列,屬陣列的第一行就是第一個字串"red",第二行是"green",第三行書"blue",第四行是"\0"。之後就可以用ch[0][1]表示第一個字串的第2個字母,這裡就是e,ch[1][4]表示第二個字串的第五個字母,這裡就是n。

9樓:any_time依

這是指標陣列,不是陣列指標。

陣列指標:(*p)[10]

指標陣列:*p[10]

性質是不同的

c語言,陣列名與陣列第一個元素的關係

10樓:匿名使用者

主要有bai如下區別:

1、數du組zhi名代表

陣列的首地址,若daoc="abcdef",則陣列名c代表陣列元素內'a'的地址。

2、%s用於輸出一容個字串,對應的引數是陣列名(即陣列的首地址)。輸出從陣列起始位置到陣列中第一個'\0'之間的全部字元。

2、%c用於輸出一個字元,即字元的值。而陣列名是陣列的首地址,即&c[0],程式執行時,為陣列分配的儲存單元是隨機的,即每次執行&c[0]的值是不同的,故把它作為ascii值對應到相應的字元也是隨機的。若想輸出陣列第一個元素的值,可以用c[0],即printf("%c",c[0]);

11樓:匿名使用者

陣列是多個元素的集合,而其第一個元

素只是它的一個部分

當我們定義一個陣列時,內要用到方括號修飾容符, 如int a[10];

這也就決定了它的型別為int [10],但其元素的型別卻為int區別:而c中的指標和陣列實際上十分類似(但陣列的指標為常量),所以當你嘗試用整型(若要用printf完整輸出應該用「%ld」格式化)的格式輸出一個陣列時,一般會輸出一個-9223372036854775807 ~ 9223372036854775807的整數,其實質是陣列的起始位置的指標。(注意,輸出的範圍根據cpu的位數而不同,以上為64位輸出的結果)

而當你用a[0]來使用第一個元素時,其型別為int關係:在區別中已經提到,指標和陣列十分類似,也就是說可以用用於指標的一元運算子」解引用「(*)來獲得一個陣列的第一個元素。

也就是說,一下兩個表示式是等效的

a[0]

*a那麼同理,我們也可以用「取地址「運算子(&)來獲取第一個元素的地址,也就是陣列的地址(注意,這裡的等號不是賦值語句,只是表示左右兩個表示式等效)

a = &a[0]

12樓:匿名使用者

是真的c==&c[0]

也就是說陣列名實際是陣列首地址

所以用%c輸出c時,只是將陣列首地址的低8位作為字元輸出,由於地址是隨機的,所以輸出結果也是隨機的

c語言中陣列指標a有啥區別,C語言中陣列指標 a 與a 有啥區別?

第一個a中有2個符號,所以要看優先順序,看限於誰結合。已知比 優先所以版第一個a先與 權結合,所以a是一個陣列,陣列中的元素都是指標a就單單表示陣列。例子 char a a是陣列,元素都是char 即指標 char a a是陣列,元素都是char 即字元 a 這個為指標陣列,int a 5 就定義了...

c語言中陣列名及陣列元素名有何區別

例如char a a是代表整個陣列,a 0 a 1 a 4 各自代表其中的一個數.嚴格來說,a是一支指向char的指標.a就是a 0 a 1 就是a 1 a 4 就是a 4 int array 3 上式中,array就是陣列名,你說的陣列元素名應該是array 0 或array 1 array 2 ...

C語言sizeof陣列名

陣列名與指標有太多的相似,甚至很多時候,陣列名可以作為指標使用。於是乎,很多程式設計者就被搞糊塗了。而許多的大學老師,他們在c語言的教學過程中也錯誤得給學生講解 陣列名就是指標 這種誤解的根源在於國內某著名的c程式設計教程 出版量最多的那本破書 陣列名的內涵在於其指代實體是一種資料結構,這種資料結構...