如果你說c語言中除了指標,其他你都學得很好,那你乾脆說沒學過c語言。-----引用李明杰老師的一句話
變數型別 * 變數名 例:int *p; 作用:能夠根據1個位址值訪問並修改對對應的儲存空間
**聯絡1
#include int main()執行結果:a = 10
int *p中的*是指標的標誌
p = &a; 指標變數只能儲存位址
int *p; 指標變數p前面定義了int,說明指標只能指向int 型資料
**練習2
#include //通過使用指標改變變數a的值int change(int *n)
int main()
執行結果:a = 10
注:如果不利用指標則無法在change函式內修改main函式中變數a的值
int main()
int main()執行結果:a = 30
注:指標在任何型別下都是占用8個位元組
陣列名【下標】 例:ages[i];
指標變數名【下標】 例:p[i]; //前提是指標變數p指向陣列
例:int ages[3] = ;
int *p;
p = ages; // 陣列名就是陣列首元素的位址,此行**表示把陣列元素位址賦給指標p
使用指標遍歷陣列內各元素:
2.指標變數的+1究竟位址會加幾取決於指標變數的型別
int *p p+1相當於位址值+4;
char *p p+1相當於位址值+1;
double *p p+1相當於位址值+8;
int main(); int *p;
p = &ages[0];
for(int i = 0;i <= 4;i++)
return 0;
}執行結果:
ages[0] = 10
ages[1] = 8
ages[2] = 91
ages[3] = 64
ages[4] = 7
解析:指標p指向ages[0] p+1則指向ages[1]
char s = "itcast";
char *s = "itcast" 指標s指向字串的首元素位址
char *s;
*s ="itcast"
char *buf = "it";//指標變數buf指向了字串的首位址printf("*buf = %c\n",*buf);
printf("buf = %s\n",buf);//
執行結果: buf =i
buf =it %s遇到\0才會停止
型別名 *
函式名(
引數列表
)char *test(); 代表函式返回char型別的資料
#include char *test(); //函式宣告int main()
char *test()
函式的返回值型別 (*
指標變數名
)(形參
1, 形參
2, ...);
#include void test();int main()
void test()
黑馬程式設計師 C語言 指標
asp.net android ios開發 net培訓 期待與您交流!指標 指標是c語言中非常重要的資料型別 指標變數的定義 int p int是指標指向資料的型別 p是指標變數名稱 只是用來表示變數為指標變數 指標的使用 int a 10 int p p a 或者p a 表示將變數a的記憶體位址賦...
黑馬程式設計師 c語言指標
ios培訓 android培訓 期待與您交流!指標的定義 定義指標和定義乙個變數類似 資料型別 指標變數名 如 int p 表示定義乙個指向整形變數的指標 使用如下 int a 8 int p p a 指標變數 p中存放a的位址,可以通過p中存放的位址,可以訪問變數a中的值。訪問指標變數中存放的位址...
黑馬程式設計師 C語言 指標
一.指標的基本概念 number 10 是什麼意思呢?1.通過number這個位址,找到他指向的空間 2.到這個空間裡,取出裡面儲存的值 普通變數基本格式 變數型別 變數名 指標變數基本格式 變數型別 指標變數名 指標裡面存的是別的變數的位址 p來列印值是0x開頭的,16進製制數字 指標變數在記憶體...