C 指標應用

2021-07-27 08:30:22 字數 688 閱讀 1737

int main()

char str1 = "hello world";

char str2 = "hello world";

char* str3 = "hello world";

char* str4 = "hello world";

if(str1 == str2)

printf("str1and str2 are same\n");

else

printf("str1 and str2 not same\n");

if(str3==str4)

printf("str3 and str4 are same\n");

else

printf("str3 and str4 not same");

分析:程式最終輸出結果是str1 and str2 are same;str3 and str4 not same.

str1和str2是兩個字串陣列,程式會為它們分配兩個長度為12個位元組的空間,並把hello world的內容分別複製到陣列中去,這是兩個初始位址不同的陣列,因此str1 和str2的值也不相同。str3和str4是兩個指標,我們無須為它們分配記憶體以儲存字串的內容,而只需要把他們指向hello world在記憶體中的位址就可以了,由於hello world是常量字串,它在記憶體中只有乙個拷貝,因此str3和str4指向的是同乙個位址。

C 指標的應用

指標是c 的乙個非常強大的特性,它能使我們直接訪問計算機的記憶體,指標可以用來引用乙個陣列,乙個字串,乙個整數或者任何其他變數。這種強大的功能使得指標在c 程式設計中是非常普遍的,而同時,指標的知識又顯得有那麼些 繁雜 有必要清晰地做個總結。指標,就是記憶體位址。我們一般會宣告乙個變數是整數int,...

C 指標的應用

一 指標與陣列 首先看一段程式,來了解陣列名與指標之間的用法。include opencv.hpp using namespace std using namespace cv int main int aptr a for int i 0 i 3 i waitkey 0 return 0 輸出結果...

c語言,指標,及其應用

既然指標變數的值是乙個位址,那麼這個位址不僅可以是變數的位址,也可以是其它資料結構的位址。在乙個指標變數中存放乙個陣列或乙個函式的首位址有何意義呢?因為陣列或函式都是連續存放的。通過訪問指標變數取得了陣列或函式的首位址,也就找到了該陣列或函式。這樣一來,凡是出現陣列,函式的地方都可以用乙個指標變數來...