C 中字元陣列的指標與其他陣列指標有什麼區別?

2021-10-01 20:03:32 字數 881 閱讀 7974

#include

using

namespace std;

intmain()

; cout << a;

system

("pause");

}

則輸出為:

0x72fde0
此時a代表的是指向陣列元素a[0]的指標

但是如果定義的是乙個字元陣列,雖然其陣列名與普通陣列的含義是一樣的,

但如果此時列印陣列名,則會列印字元陣列的內容,例如,上例可改為:

#include

using

namespace std;

intmain()

輸出為

boy
如果定義了另乙個指標指向字元陣列,列印該指標同樣會列印出字串的內容,例如:

#include

using

namespace std;

intmain()

輸出仍然為:`

boy
但是,如果是二維陣列以上的字元陣列,則不會列印內容;

#include

using

namespace std;

intmain()

;char

(*p)[5

]= a;

cout << p;

system

("pause");

}

輸出為:

0x72fe00

輸出字元陣列與其他陣列的區別

c 中陣列的名稱代表陣列第乙個元素的位址,比如輸出乙個整形陣列名稱時,會得到這個整形陣列第乙個元素的位址。但是當輸出字元陣列名稱時,並不會得到這個字元陣列的首位址,而是直接輸出整個字元陣列的內容 這是因為c 對操作符 進行了過載,當引數為char 時,會輸出char 指向的所有內容。例一 int m...

C 中的指標陣列與陣列指標

指標陣列即為包含了多個指標的陣列 而陣列指標指的是指向陣列的指標。指標陣列中的每個元素都是指標,而多維陣列是陣列的陣列。因此,指標資料與多維陣列類似。指標陣列歸根到底也屬於陣列,因此,其定義的方式為 型別名 識別符號 陣列維數 只不過此時的型別名為指標型別。例如 int myarray 2 定義了乙...

二維陣列中陣列名與其指標的關係

大多數初學者不是很清楚二維陣列是個怎樣的存在,今天我就來說說這個二維陣列,計算機記憶體是一連串的儲存單元,我們可以把它理解成一條線,沒錯就是一條線,那麼問題來了,二維是個怎樣的存在呢?說白了,二維陣列並不真是二維,只是人們主觀的將它變成二維,舉個例子吧!比如樓梯,我們都知道樓梯說白了就是一條路,但是...