二級指標,二維陣列函式引數傳遞
1、傳參規則
- 當二級指標作為函式形參時,能作為函式實參的是二級指標,指標陣列,一級指標的地址
- 當陣列指標作為函式形參時,能作為函式實參的是二維陣列,陣列指標
- 當二維陣列作為函式形參時,能作為函式實參的是二維陣列,陣列指標
- 當指標陣列作為函式形參時,能作為函式實參的是指標陣列,二級指標,一級指標的地址
2、例項驗證:
#include <stdio.h>
#include <stdlib.h>
void fun1(int **pp)
{
printf("fun1\n");
}
void fun2(int(*a_p)[5])
{
printf("fun2\n");
}
void fun3(int t_d_a[][5])
{
printf("fun3\n");
}
void fun4(int *p_a[5])
{
printf("fun4\n");
}
int main()
{
int *p_a[5]; //指標陣列
int **pp = NULL; //二級指標
int *p = NULL; //一級指標
int t_d_a[5][5]; //二維陣列
int a[5]; //一維陣列
int(*a_p)[5] = &a; //陣列指標
fun1(p_a);
fun1(pp);
fun1(&p);
//fun1(t_d_a);
//fun1(a_p);
printf("\n");
//fun2(p_a);
//fun2(pp);
//fun2(&p);
fun2(t_d_a);
fun2(a_p);
printf("\n");
//fun3(p_a);
//fun3(pp);
//fun3(&p);
fun3(t_d_a);
fun3(a_p);
printf("\n");
fun4(p_a);
fun4(pp);
fun4(&p);
//fun4(t_d_a);
//fun4(a_p);
printf("\n");
return 0;
}
相關文章
- c++ -- 二維陣列引數傳遞C++陣列
- 指標陣列和陣列指標與二維陣列指標陣列
- 二維陣列與指標陣列指標
- 二維陣列作為引數傳遞問題陣列
- Shell自學二(引數傳遞和陣列)陣列
- 傳遞指標引數(函式內部給指標賦值)示例指標函式賦值
- 二維陣列的指標的理解陣列指標
- 【原創】淺談指標(九)二維陣列和多級指標相關指標陣列
- 引數為*&與*的區別以及二維陣列傳遞時列數不對等的區別陣列
- 關於二維陣列指標的問題陣列指標
- 二維陣列排序函式array_multisort()陣列排序函式
- C語言函式傳遞指標引數的問題詳解C語言函式指標
- JavaScript函式傳遞引數JavaScript函式
- 函式的引數傳遞函式
- 函式引數傳遞及返回函式
- 函式作為引數傳遞函式
- 二維陣列傳參要點陣列
- 陣列,函式與指標 詳解陣列函式指標
- 二維陣列陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- C語言用二維陣列作為函式入口引數的小結C語言陣列函式
- python中函式的引數傳遞Python函式
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- Python的函式引數傳遞:傳值?引用?Python函式
- go 陣列傳遞給函式三種方式Go陣列函式
- 二維陣列和函式綜合程式設計練習陣列函式程式設計
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- php函式引用傳遞引數的方法PHP函式
- Python語法—函式及引數傳遞Python函式
- Java二維陣列Java陣列
- 二維陣列排序陣列排序
- vector 二維陣列陣列
- 陣列指標,指標陣列陣列指標
- 【劍指offer】二維陣列中的查詢陣列
- PHP中二維陣列與多維陣列PHP陣列
- 指標陣列與陣列指標指標陣列
- JavaScript為事件處理函式傳遞引數JavaScript事件函式