字元指標和函式
該節主要介紹字串陣列的指標,即關於字串處理的函式的指標。
1、當字串出現在程式中時,例如
printf("hello, world!");
是通過字元指標獲取到它,printf函式接收到乙個字元陣列開始的位址,也就是說,字串常量是通過指向它的首元素的指標獲取到的。
2、字串常量沒有必要必須作為函式的引數,通常可以這樣定義:
char *pmessage;
pmessage = "now is the time";
將指標變數pmessage指向字串常量「now is the time"的開始位址,這種描述並不是字串的複製,c語言不提供任何關於整個字串的操作。
3、 char amessage = "now is the time";
char *pmessage = "now is the time";
amessage定義的是乙個陣列,大小是能容下初始化時的字元和『\0』,陣列中的元素可以改變,但是amessage始終指向那一塊記憶體區域;而pmessage是乙個指標,初始化時指向乙個字串常量,當然隨後該指標也可以修改指向其他地方。
4、字元'\0'即null,ascii碼是0.
5、關於*和++或--的操作:
*t++:t指向的值先取出,然後t++;
*++t:t先自加,然後取出自加後的位址指向的值。
在棧中的習慣用法:
*p++ = val; /* push val onto stack */
val = *--p; /* pop top of stack into val */
6、在strcmp/strcpy函式中既可以用陣列的形式操作,但習慣用法是運用指標來操作,例如:
strcpy函式中:
陣列方法:
while ((s[i] = t[i]) != '\0')
指標方法:
while (*s++ = *t++)
c語言之陣列指標
在c語言裡,陣列就是指標,指標就是陣列,一維指標就是一維陣列,二維指標就是二維陣列。陣列名就是陣列的首位址,所以形參是陣列的時候,必須把陣列的個數也帶過去 陣列一般通過下標訪問,下標偏移就是位址偏移。可以把一級指標指向一維陣列的首位址。除此之外,指標比陣列更為靈活。陣列在定義的時候必須指定長度個數,...
C語言之指標陣列
指標數值是什麼,有什麼用?通俗的講,指標變數和普通變數的理解差不多,只不過是指標變數儲存的是變數的位址,而普通變數儲存的是值。指標在什麼時候會使用到 傳遞和偏移兩個環節中 使用指標應該注意的事項 使用指標之前應該對其初始化 初始化已經宣告的位址 指標不能賦值具體值 指標所代表的是位址,而不是具體值 ...
C語言之指標陣列
一.指標陣列 1.簡介 簡介 本質是乙個陣列,但是裡面存放的資料都是指標,即陣列元素都是指標。它是 儲存指標的陣列 的簡稱。2.內容格式 資料型別 陣列名 元素個數 例如 int a 4 的優先順序比我們的 的優先順序高,所以與我們的4先結合,形成了我們的陣列的定義,陣列名叫做a,我們平時定義陣列的...