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,因為輸...