指標型別與動態變數

2021-07-30 23:34:33 字數 1145 閱讀 7451

一:概念

指標型別:指示記憶體位址的資料型別;

指標變數:存放記憶體位址的變數(簡稱"指標");

二:指標變數的定義

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...