1. 指標與位址
&:取址符,只能應用於記憶體中的物件,即變數和陣列元素
*:間接定址和間接引用運算子,看下面的**:
intx=1, y=2, z [10];
int*ip; //ip是int型別的指標
ip=&x; // 指標ip現在指向x,ip儲存x的位址
y=*ip; //y的值現在為1
*ip=0; //x現在的值是0
ip=&z[0];//指標ip現在指向z[0]
double*db,atof(char *); //atof的引數是乙個指向char型別的指標
2. 指標與函式引數
由於c語言中是以值傳遞的方式將引數傳給呼叫函式,因此被呼叫函式不能直接修改外部變數的值
例如:排序演算法會使用到swap函式來交換兩個次序顛倒的元素
voidswap(int x,int y)
呼叫該函式swap(a,b);不會影響到a、b的值,該函式僅僅交換了a和b的副本的值。
將swap函式修改為:
voidswap(int *px,int *py)
把需要交換的變數指標傳遞給swap函式:swap(&a,&b)
C語言學習筆記 指標 指標陣列與陣列指標
指標陣列 是乙個陣列,陣列元素為指標 陣列指標 是乙個指標,指向陣列的指標 例如 int p1 5 int p2 5 對於語句int p1 5 因為 的優先順序要比 要高,所以 p1 先與 結合,構成乙個陣列的定義,陣列名為 p1,而 int 修飾的是陣列的內容,即陣列的每個元素。也就是說,該陣列包...
陣列與指標(筆記)
陣列和指標的關係 函式引數表中的陣列實際上是指標 sizeof a sizeof int 可以用陣列的運算子進行運算 include void minmax int a,int len,int min,int max 定義最大值和最小值函式 intmain int min,max printf ma...
C 學習筆記4 陣列與指標
陣列和指標 1.int pi 0 pi不指向任何物件。指標最好應初始化,如果須分開定義指標和其所指向的物件,則將指標初始化為0.2.把int型變數賦給指標是非法的,儘管此int型變數的值可能為0.但允許把數值0或在編譯中可獲得0值的const量賦給指標。3.如果把指向const的指標理解為 自以為指...