C語言中的指標之陣列和字串

2021-06-02 15:15:28 字數 571 閱讀 5762

c語言最大的特色便是指標的引用。很遺憾,指標一直是我的弱點。如果這麼算起來的話,那麼我應該算是不懂c語言的人。

工作這麼多年,說起這個還是很慚愧的。

c語言中的指標引用,最讓人疑惑(或者是我最疑惑)便是字串與陣列指標的引用。

定乙個字串:char *ptr = "i am shamed".這種做法是正確的。

因為字串"i am shamed"把頭指標給了ptr,這到是無可厚非。

而讓人疑惑的便是%s的列印,只要給頭指標便能打全。真是神奇。

再說一例:

int open_proc_file(char *filename)

呼叫時只要使用open_proc_file("/tmp/tmp.txt)即可。實際便是字串指標的傳遞。即在實參中把/tmp/tmp.txt的指標給形參filename.最終到fopen時,仍然是字串的頭指標。

而fopen的第乙個引數,要的便是字串的頭指標。

真是神奇的c語言呀。

而對於陣列,只要記住一條,那便是定義乙個陣列buf[20],而buf就是指數組的頭指標。

C語言中字元陣列和字串指標分析

寫下面的測試程式 include int main int argc,char argv 執行後螢幕上得到如下結果 其實看到結果估計很多東西就好明白了,先看看前三個輸出也就是關於變數day的,在 char day 15 abcdefghijklmn 這個語句執行的時候,系統就分配了一段長15的記憶體...

C語言中字元陣列和字串指標分析

這幾天搞unix上的c程式,裡面用到了很多字元陣列和字串指標,我記得在學完c語言後相當一段時間裡,對指標這個東西還是模模糊糊,後來工作也沒怎麼用到過c,雖然網上這類的文章也有很多,還是決定自己在這做個小總結,也算加深下自己的印象,寫了下面的測試程式 01 include 02 03intmain i...

C語言中字元陣列和字串指標分析

這幾天搞unix上的c程式,裡面用到了很多字元陣列和字串指標,我記得在學完c語言後相當一段時間裡,對指標這個東西還是模模糊糊,後來工作也沒怎麼用到過c,雖然網上這類的文章也有很多,還是決定自己在這做個小總結,也算加深下自己的印象,寫了下面的測試程式 include int main int argc...