當前位置:首頁 » 編程語言 » c語言傳遞二維數組

c語言傳遞二維數組

發布時間: 2022-10-10 08:46:16

『壹』 c語言中如何將二維字元數組作為函數參數引用傳遞

不可能達到目的。因為C語言中沒有引用這類型,C++才有。另,C/C++都不支持傳遞數組,只能傳遞數組的首元素或行指針,所以即使是C++,也只能傳遞數組指針的引用,而不可能傳遞數組的引用,因為數組沒有引用。

『貳』 C語言 二維數組傳遞參數

二維數組傳遞給函數的時候,有兩種方式,一種是a[][6],一種是(*a)[6],這里的6是不能省略的,不然編譯器不知道如何通過加多少來偏移這個指向數組的指針。

『叄』 在C語言中定義了一個二維數組,要用它的數組名作為參數傳遞的時候應該怎麼寫

在傳遞2維及以上數組時,只有最高維的下標可以省略。否則編譯器是無法判斷你給出的數組是什麼樣的

『肆』 怎麼給函數傳二維數組的指針」

C語言中 指針做函數參數傳遞二維數組有兩種基本方法:
1、傳遞「數組指針」

#include <stdio.h>void output( int (*pa)[3], int n )//這個函數只能輸出n行3列的二維數組{ int i,j; for( i=0;i<n;i++ ){ for( j=0;j<3;j++ ) printf("%d ", pa[i][j] ); printf("\n"); }}void main(){ int a[2][3]={ {1,2,3}, {4,5,6} }; output(a,2);}

2、傳遞「指針數組」 先將二維數組的行指針存儲到一個指針數組中,再將指針數組傳遞到子函數中去。

#include <stdio.h>void output( int *pa[], int row,int col ) //這個函數更通用,但調用前,要做好准備工作。{ int i,j; for( i=0;i<row;i++ ){ for( j=0;j<col;j++ ) printf("%d ", pa[i][j] ); printf("\n"); }}void main(){ int a[2][3]={ {1,2,3}, {4,5,6} }; int i; int *pa[2]; for( i=0;i<2;i++ ) pa[i]=a[i]; output(pa, 2, 3);}

『伍』 C語言中 指針做函數參數傳遞二維數組

#include <stdio.h>

void fun(int (*p1)[3],int (*p2)[3]);

int main()

{

int p1[3][3]={{7,8,9},{4,5,6},{1,2,3}} ;

int p2[3][3] = {0};

int i = 0, j = 0;

fun(p1,p2);

for(i = 0;i < 3;i++){

for(j = 0;j < 3;j++){

printf("%d ",*(*(p2+i)+j));

}

printf(" ");

}

return 0;

}

void fun(int (*p1)[3],int (*p2)[3])

{

int i = 0,j = 0;

for(i = 0;i < 3;i++){

for(j = 0;j < 3;j++){

*(p2[j]+i) = *(p1[i]+j);

}

}

}

(5)c語言傳遞二維數組擴展閱讀:

函數指針的聲明方法為:

返回值類型 ( *指針變數名) ([形參列表]);

其中,「返回值類型」說明函數的返回類型,「(指針變數名 )」中的括弧不能省,括弧改變了運算符的優先順序。若省略整體則成為一個函數說明,說明了一個返回的數據類型是指針的函數,後面的「形參列表」表示指針變數指向的函數所帶的參數列表。例如:

int func(int x); /* 聲明一個函數 */

int (*f) (int x); /* 聲明一個函數指針 */

f=func; /* 將func函數的首地址賦給指針f */

或者使用下面的方法將函數地址賦給函數指針:

f = &func;

賦值時函數func不帶括弧,也不帶參數,由於func代表函數的首地址,因此經過賦值以後,指針f就指向函數func(x)的代碼的首地址。

網路-函數指針

『陸』 c語言如何傳遞多個二維數組

二維數組即數組元素為數組的數組,數組在函數傳參時,為了避免復制,會自動轉成指向數組第1個元素的指針,二維數組在傳參時,會轉成一個指向數組的指針
所以聲明是fun(int (*a)[N])當然寫成fun(int a[][N])也行,因為實際是int(*)[N]這種類型,所以建議就這么寫。
調用就直接轉一個int a[x][N]類型的數組即可。
定義就是多一個函數體,必須有形參的名字。

『柒』 c語言中怎麼用二維數組作為函數參數

C語言中
指針做函數參數傳遞二維數組有兩種基本方法:1、傳遞「數組指針」<pre
t="code"
l="cpp">#include
<stdio.h>
void
output(
int
(*pa)[3],
int
n
)//這個函數只能輸出n行3列的二維數組
{
int
i,j;
for(
i=0;i<n;i++
){
for(
j=0;j<3;j++
)
printf("%d
",
pa[i][j]
);
printf("\n");
}
}
void
main()
{
int
a[2][3]={
{1,2,3},
{4,5,6}
};
output(a,2);
}2、傳遞「指針數組」
先將二維數組的行指針存儲到一個指針數組中,再將指針數組傳遞到子函數中去。<pre
t="code"
l="cpp">#include
<stdio.h>
void
output(
int
*pa[],
int
row,int
col
)
//這個函數更通用,但調用前,要做好准備工作。
{
int
i,j;
for(
i=0;i<row;i++
){
for(
j=0;j<col;j++
)
printf("%d
",
pa[i][j]
);
printf("\n");
}
}
void
main()
{
int
a[2][3]={
{1,2,3},
{4,5,6}
};
int
i;
int
*pa[2];
for(
i=0;i<2;i++
)
pa[i]=a[i];
output(pa,
2,
3);
}

『捌』 C語言,函數傳遞二維數組問題

改成這樣
void test(char *a)
{
printf("%c", *(a+2)+1);
}

『玖』 c語言函數怎麼傳入一個二維數組

這樣傳:
函數聲明:Func(變數類型 *[二維數組的列長] arry);

char arry[][4] ;
Func(arry);

『拾』 c語言二維數組傳值

多維數組傳遞,n要為固定大小,void p( arr[][5] );
int arr[2][5];

p(arr);

來自下面網址

網頁鏈接

熱點內容
python查看類函數 發布:2024-12-22 01:15:31 瀏覽:41
詛咒密碼的第二塊碎片維內拉圖斯在哪裡 發布:2024-12-22 00:57:13 瀏覽:900
雲存儲伺服器管理系統 發布:2024-12-22 00:44:11 瀏覽:474
安卓系統推薦廣告怎麼關閉 發布:2024-12-22 00:42:50 瀏覽:863
蘋果ipad瀏覽器沒有伺服器怎麼辦 發布:2024-12-22 00:32:52 瀏覽:680
linux操作系統是什麼系統 發布:2024-12-22 00:30:46 瀏覽:89
linux密碼忘了怎麼辦 發布:2024-12-22 00:24:44 瀏覽:258
崩壞學園2金立伺服器是什麼 發布:2024-12-22 00:23:25 瀏覽:586
杭州灣新區碧桂園海上傳奇 發布:2024-12-22 00:18:16 瀏覽:462
c讀取sql資料庫 發布:2024-12-22 00:18:10 瀏覽:137