指標的好處
提高程式效率
實現動態陣列,相對多個變數一般訪問模擬陣列
p=&a;//變數a的位址;
p=a;//陣列名a;
p=q;//指標q;
p=fun;//函式名fun;
p=null;//null
變數的訪問方式
直接訪問-使用變數名
間接訪問-通過該變數位址進行訪問
(int )(0x0013ff78) = 10;
value是別人的位址
可以定義為void
間接訪問才有意義。
有人說指標就是位址嗎?
不對,指標是一種容納位址的變數,通常叫做指標變數
1.char pa,pb;//pb不是
2.char *pa,pb;// pb不是
&取址運算子
*指標運算子
示例1:
int main()
*p僅僅代表i的值嗎?
*p代表i的本身
int x=0,y=0;
int *px=&x;
y=*py;
示例2int x=0,y=1;
int *py=&x;
*px=y;
錯誤示例
int main()
錯誤示例
int main()
#define null((void *)0)
if(pnull)
更好if(nullp),常數放在左邊,變數右邊
指標有一下幾種運算
賦值,*運算,&取位址,加減乙個數,自增減,求差,比較
p+n,p-n,++p,–p,p1-p2陣列
p+n的意義?n是int這樣的長度
void main( )
;int *p = &a[1];
int * r;
int i, j;
int *q = &a[4];
r = p+2;//?位址
i = q-p;//?3個元素
j =&a[1]-&a[0];// ?乙個元素
}char str=」hello word」;
char *pst =」hello word」
str[0]=』y』;
pstr[0]=』y』;錯誤
多級指標
二級指標:指向指標的指標(指標的位址)
int i=20;
int *pi=&i;
int **ppi=π
指標變數ppi 指標變數pi 變數i
位址二 位址1 值
#include
int* search(int *t,int size,int x);
int main(void)
;int *p=search(num,10,18);
printf("%p,%p\n",num,p);
}int* search(int t,int size,int x)
用指標做函式引數的好處,
用指標做函式引數的好處,首先要理解函式傳參的過程,函式傳參是複製型的,例如 void modify int a a void main int a 5 modify a printf d a 程式執行完之後,a的值還是5,為什麼呢,因為在執行modify函式的時候,是另外開闢了儲存空間,將a的值複製...
的好處 考研有哪些好處?
在猶豫考研的時候,會非常的糾結,主要是利益的均衡,你到底有沒有了解過考研的這五大好處。選擇考研的時候你會有這些好處,或許你選擇考研是乙個不錯的選擇。第一大好處學歷的提高,敲門磚更加硬氣了 考研之後,無論是你選擇是工作還是公 還是選擇繼續深造,考研之後平台會更加的提高,隨意你的選擇會更加的寬闊。而且許...
的好處 練習孕婦瑜伽的好處
練習孕婦瑜伽的好處 1 瑜伽對準媽咪身體的好處 孕媽通過瑜伽的拉伸和練習,可以循序漸進地增加肌肉的韌性 靈活度和耐力,不會給關節造成壓力,特別是隨著肚子的增大和身體重心的轉移,孕婦瑜伽體位能夠幫你保持平衡,塑造良好的體態。同時,孕婦瑜伽能有效改善血液迴圈,減輕水滯留,增強骨盆肌肉,常見的孕晚期的下背...