二級指標,二維陣列函式引數傳遞
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++陣列指標函式
- c++ -- 二維陣列引數傳遞C++陣列
- 指標陣列和陣列指標與二維陣列指標陣列
- 二維陣列與指標陣列指標
- 二維陣列和指標陣列指標
- Shell自學二(引數傳遞和陣列)陣列
- 二維陣列作為引數傳遞問題陣列
- 傳遞指標引數(函式內部給指標賦值)示例指標函式賦值
- 【原創】淺談指標(九)二維陣列和多級指標相關指標陣列
- 二維陣列傳參陣列
- 引數為*&與*的區別以及二維陣列傳遞時列數不對等的區別陣列
- C語言函式傳遞指標引數的問題詳解C語言函式指標
- 二維陣列排序函式array_multisort()陣列排序函式
- GO中的函式設計時候,引數傳遞選擇傳遞值還是傳遞指標?Go函式指標
- 徹底搞清C/C++中一維陣列,二維陣列,指標,陣列指標和指標陣列以及指向指標的指標,行地址和列地址之間的關係C++陣列指標
- C語言結構體及函式傳遞陣列引數示例C語言結構體函式陣列
- 二維陣列的指標的理解陣列指標
- JavaScript函式傳遞引數JavaScript函式
- 函式的引數傳遞函式
- JavaScript函式引數傳遞JavaScript函式
- 指標和二位陣列指標陣列
- 【劍指offer】二分查詢二維陣列陣列
- 二維陣列傳參要點陣列
- 函式作為引數傳遞函式
- 函式引數傳遞及返回函式
- 陣列,函式與指標 詳解陣列函式指標
- 在COM中使用陣列引數-陣列指標 (轉)陣列指標
- 二維陣列陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- 關於二維陣列指標的問題陣列指標
- 二維陣列傳參做形參陣列
- PHP一維陣列轉二維陣列正規表示式PHP陣列
- js中函式引數值傳遞和引用傳遞JS函式
- python函式之引數傳遞Python函式
- C語言用二維陣列作為函式入口引數的小結C語言陣列函式
- 二維陣列和函式綜合程式設計練習陣列函式程式設計
- 陣列二:使用陣列可變函式為陣列排序陣列函式排序
- 陣列指標,指標陣列陣列指標