指標
1. 指標與陣列
陣列:name[ ]; 陣列名其實質相當于陣列的首地址,name[ ] 相當于取第幾地址的值
指標:*p ,宣告一個指向(型別)的指標
p = name,p是一個地址,指向name的首地址
用法: *p == name[0] ;
? *(p++) == name[1];
2.指標與函式
在函式的形參中使用
int name[10];
void fun(int *p, int n); // *p說明傳入的是一個地址,也可用int p[],兩種形式等價,后者還說明傳入的是一個陣列形式的整型
在呼叫函式時 fun( name,10); // 傳入的是陣列的地址,因此使用的是name
如果傳入的不是一個陣列,如 int num;一個數
則傳入時需加上取址符&,fun(&num,10);
注意:傳入的陣列在函式中的操作可以被修改,若無意修改應使用const int宣告
3.指標的操作
賦值、解參考、取址、指標與整數相加、遞增指標、指標減去一個整數、遞減指標、指標求差、比較
注意:
- 指標求差即兩個指標相減,所得數是兩指標所相差的型別數,如整型指標p1-p2=2,則地址相差2個int
- 指標遞增遞減操作,小心越界操作,即指標地址指到未定義范圍
- 不要解參考未初始化的指標,如 int *p = 5,此時5的地址不知道會在何處,要么使用malloc()事先分配記憶體
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/47145.html
標籤:C
上一篇:C語言陣列指標的理解方式
下一篇:北郵機試真題2009
