C語言指標

2021-06-20 13:47:14 字數 1652 閱讀 6932

1    定義指標變數

void change(int *n);

// 格式:變數型別 *變數名;

// 定義了乙個指標變數p

// 指標變數只能儲存位址

// 指標變數p前面的int:指標變數p只能指向int型別的資料

int main()

void change(int *n)

2    指標與陣列

陣列名其實質是乙個指標,但是它和普通的指標變數還是有區別的,陣列名是指標常量

int main()

;

int *p;

// 指標變數p指向了陣列的首元素

// 陣列名就是陣列的位址,也是陣列首元素的位址

p = ages;

//p = &ages[0];

/*p ---> &ages[0]

p + 1 ---> &ages[1]

p + 2 ---> &ages[2]

p + i ---> &ages[i]

*/ //訪問陣列元素

/* 1.陣列元素的訪問方式

int ages[5];

int *p;

p = ages;

1> 陣列名[下標] ages[i]

2> 指標變數名[下標] p[i]

3> *(p + i)

2.指標變數+1,位址值究竟加多少,取決於指標的型別

int * 4

char * 1

double * 8

*/printf("%d\n", *(p+2));

printf("%d\n", p[2]);

return 0;

}

3    指標與字串

字串除了可以用字元陣列儲存外,用字元指標也可以表示乙個字串。

1 利用陣列

char name = "itcast";

* 特點:字串裡面的字元是可以修改的

* 使用場合:字串的內容需要經常修改

2 利用指標

char *name = "itcast";

* 特點:字串其實是乙個常量字串,裡面的字元是不能修改

* 使用場合:字串的內容不需要修改,而且這個字串經常使用

int main()

;

printf("%s\n", name);

printf("%s\n", names[0]);

return 0;

}

4    指向函式的指標

函式作為一段程式,在記憶體中也要佔據部分儲存空間,它也有乙個起始位址,即函式的入口位址。指標變數就是用來儲存位址的。因此,可以利用乙個指標指向乙個函式。其中,函式名就代表著函式的位址。 定義的一般形式:函式的返回值型別 (*指標變數名)(形參1, 形參2, ...); 由於這類指標變數儲存的是乙個函式的入口位址,所以對它們作加減運算(比如p++)是無意義的

int sum(int a, int b)

int main()

C語言指標

指標變數是包含記憶體位址的變數,它指向記憶體中的一塊區域,通過指標的值,可以間接訪問到相應的記憶體單元的資料,並做相應的修改。1 指標的定義和簡單使用 定義乙個指標變數和定義一般的變數類似,只需在變數名前面加乙個 對乙個指標變數賦值可以用取位址符 來獲取到乙個變數的位址,如果要獲得指標指向的記憶體區...

c語言指標

編寫程式,在主函式裡用指標陣列輸入六個字串,再用另乙個函式對這六個字串排序,並在主函式中輸出排好序的字串。include void sort char s,int n char temp for int i 0 ifor int j 0 jif strcmp s j s j 1 0 temp s j...

C語言 指標

指標的基礎知識點 指標其實就是位址,是用來儲存變數的。通常在定義乙個整形變數是這樣定義的 int a 2 定義乙個整形指標是這樣的 int p a 就是乙個宣告,宣告p是乙個指標,用來儲存a的位址,就是取位址符,把變數a的位址取出來賦給指標變數p 如果輸出printf d p 輸出的結果是2,因為輸...