C高手中高手進,字元陣列名的屬性到底是不是指標C

2021-03-03 21:56:10 字數 2292 閱讀 6248

1樓:白波九道雪

陣列bai名和指標都可以標誌地址,du但是要zhi注意:

陣列名是常量,一旦dao你定義了一個數內組,那麼數容組名無法被賦值。

指標是變數,是可以被賦值的!

例如:int a[10];

int b[10];

a=b;//錯誤!!!不能對a賦值

注意下面

int *p;//定義一個指標

p=a;//ok,p現在指向a的首地址。

p=b;//ok,p現在指向b的首地址。

一句話:陣列名是常量,指標是變數!

2樓:匿名使用者

陣列名不是指標,是地址常量,所以賦值報錯。

那顯示a的時候為什麼不是十六進位制的地址呢?

要加取址符啊。這裡a的意思相當於地址的代號,如同一個人。有名字和綽號。地址是名字 a相當於綽號

3樓:灬螺旋丸

陣列名都是指標,但是都是一個常指標。本身是不可改變的。

c++中陣列名到底是不是一個地址?

4樓:尋秦記記

a+1表示字串中第1個字元(從0計數)開始,它代表一個地址沒錯,但是c++中字串對

《的過載功能,表示從當前地址直到字串結束到輸出到標準輸出,即列印埠,所以當char a = "asdf"時,cout << a+1就會列印sdf

5樓:匿名使用者

char陣列比較特殊, 你用int陣列來看看

字串會連續輸出, 直到遇見'\0'

int陣列就符合正常思維

c++ 指標與陣列名的區別,求助高手

6樓:偷心的賊

首先,第一行肯定是輸出亂碼,解釋2個知識點你就知道了:

1.陣列和指標的區別,其實對於你的問題這不是最重要的,不過既然你問道區別就說說吧:

陣列名確實表示指向陣列首地址的指標,但這個指標很特別,它的值(指標的值指的是指標所指的地址)不能被改寫,能改寫的僅僅是其指向的內容,換句話說,陣列名只能指向陣列的首地址,如果有陣列char a;那麼如果出現a = a+1;這是編譯都通不過的錯誤。而對於一個普通的指標是可以的,再比如有陣列char a;那麼再定義一個char *p = a;然後再用p = p+1是合法的,這表示讓指標p指向&a[1]。

它們的第二個區別是:每當用到陣列名這個指標的時候,系統都會傳入陣列的資訊,而普通的指標只是一個4位元組的整數,例如:

char a[5];

char *p = a;//指標a和指標p都指向陣列a的首地址

cout << sizeof (a) << "##" << sizeof (p) << endl;

這時的執行結果是「5##4」

2.作用域以及生存期:

被一組「{}」括起來的部分被稱為一個「域」,在某個域中定義的變數稱為區域性變數,這個區域性變數僅僅在該作用域下有效,一旦離開這個作用域,該變數就消亡;如果遇見多重作用域,外層的變數可在內層起作用,如果遇見內層與外層同名的情況,則內層的同名變數在內層覆蓋外層變數。

舉個例子:

void fun1()

void fun2()

void fun3 ()

//新增加的作用域結束

cout << c << endl;//這裡依然會列印出1,因為這裡的c是第一個定義的c,上面新增的作用域的c已經在其作用域結束的時候消亡。

}好了,上面的基礎知識說完了,現在我們來分析你的程式,第一行出現亂碼是因為在函式getmemory()結束的時候,陣列消亡了,每個元素都消亡了,所以在你列印的時候,系統找不到p1指向的值,因為已經消亡,p1成了野指標,所以出現亂碼,而第二行正常是因為:雖然指標b也在函式中消亡,不過消亡的僅僅只是一個指標,其指向的內容並沒有消亡,而這些內容的首地址已經在getmemory()中賦給了你傳入的指標,所以第二行正確

7樓:匿名使用者

a 你首先要思考下 p1 在getmemory(&p1 , &p2 );之後裡面裝的是什麼? 這裡因該裝的是地址而不是一個變數,你如果要想輸出這個地址裡的值那就加上『* 』號。但輸出的只是首地址的值,至於為什麼3樓的第一點已經說的很詳細了

你可以結合下面的程式分析下

#include

using namespace std;

int main()

8樓:匿名使用者

c大概輸出亂碼

char a = "hello";

定義的陣列a[6]在函式返回後,不存在了,cout<

求助英譯中,高手進啊

暹羅siam 此外,暹羅 還有助於在外物影響下增加評價的客觀性,通過明確定義的規則的定義和應用,基於技術上接地的準則分級用於影響 階段所取得的成果,暹羅 可應用於任何被建議專案中與空間分佈的影響有關的環境影響評估 這是幾乎所有專案的環境影響的情況下 本文中所描述的總體框架,可以適應每個特定的情況下,...

還是關於玉石。請高手中的高手進,幫我看看這個值多少錢是不是A貨

那個龍鳳牌 玉種因為是 看著像 產自河南的南陽玉器 成色一般 水頭差 如果是收藏 就沒有必要了 要是自己佩戴 還可以 估計賣價在350左右吧 後面那個吊墜 成色不錯 要是幾十塊錢的話 也可以佩戴不錯 裡面不是有 麼 你還想 買來60賣100麼 請高手幫我看下我的玉是否a貨,值多少錢?我看這款如意是冰...

小學奧數題。高手進

1952年 過程 設1988年姐姐年齡為a 弟弟年齡為b 爸爸年齡為c則 a b 6 c a 8 b 8 2 c 8第2個式子化為 a b 2 32 c 8 a b 2 c 24 3 a b 2 3c 72於是3c 72 c得2c 72 c 36 1988 36 1952 假設爸爸是19x年出生,姐...