一:概念
指標型別:指示記憶體位址的資料型別;
指標變數:存放記憶體位址的變數(簡稱"指標");
二:指標變數的定義
1.格式:
指標的型別 *變數名/*"*"是指標說明符*/;
如:int *p;
int *a[100];
char *s;
2.結構體指標:
如:struct node*p;
三:指標運算子(2個)
1.取位址(&):&後是普通變數(非雙指標);
2.取內容(*):*表示指標所指向的變數.如*後是指標;
程式中:
指標:p
指標所取變數:*p
結構指標的成員兩種寫法:
(1): (*p).m;
(2): p->m;
四:指標的使用
1.指標賦值:給指標乙個位址
如:p=&a;
p=arr;
p=p1;
p=null;
2.指標的運算(加或減乙個整數)/*是位址記憶體位元組數的+,-*/:
如:p++;
p--;
p+=i;
p-=i;
r=p+i;
r=p-i;
3.兩指標相減/*求出距離*/;
4.兩指標比較;
5.*p和普通變數一樣用:
如:*p=10000;
*p+=*p1;
*p=n/z;
五:動態變數
當指標指向一塊無名的記憶體空間,就形成了乙個動態變數;
形如:*p
生成乙個指定型別的動態變數:
格式:變數名=new 資料型別;
功能:生成乙個指定型別的動態變數;
如:p=new int[10];
p=new node;
如給乙個動態陣列存入n個元素:
int n,*p;
scanf("%d",&n);
p=new int[n];
for(int i=0;i0)
} int main()
px(g);
for(i=0;iprintf("%d ",g[i]);
return 0;
}
靜態變數與動態變數
1 靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。靜態變數,全域性動態變數都是靜態儲存 2 動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放 3 靜態儲存變數是一直存在的,而動態儲存變數則時而存在時而消失。通常把由於變數儲存方式不同而產生的特性...
靜態變數與動態變數
1 靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。靜態變數,全域性動態變數都是靜態儲存 2 動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放 3 靜態儲存變數是一直存在的,而動態儲存變數則時而存在時而消失。通常把由於變數儲存方式不同而產生的特性...
說明多級指標與動態變數,靜態變數關係的幾個簡單程式
多級指標 include int main void 程式輸出結果 i 1,p 6487628,q 6487616 p 1,i 6487628,p 6487616 q 1,q 6487628,q 6487608 process exited after 0.01289 seconds with re...