我們都知道,陣列 和指標原本是兩個完全不同程度的概念,他們表示的含義也不相同,然而我在c語言中經常會遇到將陣列轉換成指標來使用的情況.有時候,我們容易混淆兩者.今天我以一道面試題來剖析字元陣列和字元指標 的區別
首先 我們從理論出發,看看兩者的概念和定義:
1 陣列:
概念(what):一組相同資料型別的有序資料的集合.
用處(how):用來批量處理資料
特點:陣列在記憶體中的物理結構是連續的
2 指標:
概念(what):指標就是位址
純位址(房間號)
所指向資料的型別(房間大小)
用法(how):通過指標可以間接訪問到以它為位址的記憶體單元
2,實踐是檢驗真理的唯一標準,下面我們以**為例來剖析具體細節,解釋在 **的注釋中
#include#includeint main()
else
if (str3 == str4)
else
system("pause");
return 0;
}
執行結果如下
字元陣列和字元指標
字元陣列是一段記憶體空間 字元指標是乙個位址,指向一串字元。char str abcd char str abcd 字元陣列是一段記憶體空間 字元指標是乙個位址,指向一串字元 char str abcd char str abcd 上面這兩跳複製語句很相似,其實根本就不是一碼事。對於兩個 abcd ...
字元指標和字元陣列
1.字元指標可以指向乙個字串。我們可以用字串常量對字元指標進行初始化。例如,有說明語句 char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首位址,即指向字串的首位址。這裡要注意字元指標與字元陣列之間的區別。例如,有說明語句 char st...
字元陣列和字元指標
1.在函式getmem棧內定義個陣列,將位址return給main函式的指標str eg char p hello world char getmemory void char p hello world return p void test void char str null str getme...