C語言之指標和陣列 2

2021-07-06 03:40:13 字數 1005 閱讀 4896

字元指標和函式

該節主要介紹字串陣列的指標,即關於字串處理的函式的指標。

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,我們平時定義陣列的...