#include
#include
int a[20]
;int
sum(
int*pa,
int n,
int*p)
return ans;
}int
main()
陣列引用
#include
#include
intmain()
for(i=
0;i<
5;i++
)printf
("%d "
,a[i]);
printf
("\n");
return0;
}
指標引用(1)
#include
#include
intmain()
for(i=
0;i<
5;i++
)printf
("%d ",*
(a+i));
printf
("\n");
return0;
}
指標引用(2)
#include
#include
intmain()
void
input
(int a,
int n)
void
input
(int a,
int n)
【輸入的是位址,輸出的是位址中存放的值】
void
input
(int
*pa,
int n)
void
input
(int
*pa,
int n)
(1)一點小的基礎知識(☆_☆)/~~
a代表二維陣列的首位址,第0行的位址——>行位址
a+i代表第i行的位址,但並非增加乙個位元組!
*(a+i)即a[i]代表的第i行第0列的位址——>列位址
*(a+i)+j即a[i]+j代表第i行第j列的位址&a[i]
[j]*(*(a+i)+j)即a[i]
[j]代表第i行第j列的內容
逐行查詢——>逐列查詢
int
(*p)[3
];p=a;
for(i=
0;i)for
(j=0
;j)printf
("%d",*
(*(p+i)
+j))
;
相對偏移量法——逐個查詢【相當於p[i*n+j]】
int
*p; p=
*a;for
(i=0
;i)for
(j=0
;j)printf
("%d",*
(p+i*n+j)
);
(1)形參宣告為列數已知的二維陣列
void
input
(int p[
][n]
,int m,
int n)
}void
output
(int p[
][n]
,int m,
int n)
}
(2)形參宣告為指向列數已知的二維陣列的行指標
void
input
(int
(*p)
[n],
int m,
int n)
}void
output
(int
(*p)
[n],
int m,
int n)
}
(3)形參宣告為指向二維陣列的列指標
void
input
(int
*p,int m,
int n)
}void
output
(int
*p,int m,
int n)
}
#include
#include
intadd
(int
*p)int
main()
char name[n]
[max]
;//二維陣列進行比較
for(i=
0; i1; i++
)for
(j=i+
1; jchar
*ptr[n]
;//指標陣列
for(i=
0; i1; i++
)for
(j=i+
1; j)}
實參
實參寫法
形參形參寫法
簡單變數的位址
先有定義: int x; 實參:&x
指向簡單變數的指標
int *px
一維陣列
先有定義: int a[10]; 實參:a
一維陣列
int aa
一維陣列
先有定義: int a[10]; 實參:a,&a[0]
指向簡單變數的指標
int *pa
二維陣列
先有定義:int a[3][2];實參:a
二維陣列
int aa[2]
二維陣列
先有定義:int a[3][2];實參:*a,&a[0][0],a[0]
指向簡單變數的指標
int *pa
二維陣列
先有定義:int a[3][2];實參:a
指向二維陣列行的指標
int (*pa)[2]
指標和陣列的關係
指標和陣列的關係 參考朱有鵬c語言大講堂 1 指標和陣列的型別匹配的問題 int p int a 5 p a 型別的匹配的問題 p a a和a的數值是一樣的,但是 a時表示整個陣列的大小的 位址的列印是一樣的。a a a 0 從數值上看是完全一樣的,從意義上面看,a和 a是整個陣列的首位址,從型別來...
指標和陣列的關係
陣列名是乙個指標常量,表示陣列第乙個元素的的起始位址。如 int a 5 a表示陣列第乙個元素a 0 的起始位址 a 0 一 引用陣列元素的方法 用陣列下標引用陣列元素 陣列a中元素用下標表示為 a 0 a 1 a 2 a 3 a 4 用指標引用陣列元素 陣列a中元素用下標表示為 int p a p...
指標和陣列的關係
指標與陣列的天生姻緣 以指標方式來訪問陣列元素 1 陣列元素使用時不能整體訪問,只能單個訪問。訪問方式有2種 陣列形式和指標形式。2 陣列格式訪問陣列元素是,陣列名 下標 注意下標從0開始 3 指標格式訪問陣列元素是 指標 偏移量 如果指標是陣列首元素位址 a或者 a 0 那麼偏移量就是下標 指標也...