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

傳遞二維數組C語言

發布時間: 2022-04-03 12:51:11

A. c語言 子程序 怎樣傳遞二維數組參數

可以

void test( int a[][N], int row)
{
}

B. c語言二維數組傳值

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

p(arr);

來自下面網址

網頁鏈接

C. C語言 二維數組傳遞參數

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

D. C語言 傳遞二維數組 急

既然是全局變數數組,那麼就直接用就行了,不需要作為參數和返回。
全局變數申明時放在所有函數的之前,然後再ini()函數直接改,在display()中直接用就行。

E. C語言中如何將二維數組作為函數的參數傳遞

在C語言中可以用二維數組作為實參或者形參。


1、函數中用二維數組作為形參,函數聲明中可以指定所有維數的大小,也可以省略第1維的維數如:

voidf(intarray[3][10]);//正確
voidf(intarray[][10]);//正確

上面的兩種二維數組形參表示都是正確的。


2、函數中用二維數組作為形參,不能把第2維或者更高維的大小省略,如下面的定義是不合法的:

voidf(intarray[][]);//錯誤

因為從實參傳遞來的是數組的起始地址,在內存中按數組排列規則存放(按行存放),而並不區分行和列,如果在形參中不說明列數,則系統無法決定應為多少行多少列,不能只指定一維而不指定第二維,下面寫法是錯誤的:

voidf(intarray[3][]);//錯誤

3、二維數組作為實參傳遞時,必須保證實參第2維的維數與形參第2維的維數相同,因為必須要保證形參和實參的數據類型一致。比如定義如下函數:

voidf(intarray[][10]);

可以將如下數組傳遞給函數f。

inta[2][10]={1,2,3,4};
intb[4][10]={1};

F. c語言函數怎麼傳入一個二維數組

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

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

G. 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);

}

}

}

(7)傳遞二維數組C語言擴展閱讀:

函數指針的聲明方法為:

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

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

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

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

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

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

f = &func;

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

網路-函數指針

H. C語言怎麼以二維數組作為參數傳遞的問題

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

voidfun(intx[][3])
{
inti,j;

for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
printf("%d",x[i][j]);
}
printf(" ");
}
}

intmain()
{
inta[2][3]={1,2,3,4,5,6};

fun(a);

return0;
}

定義形參的時候定義列的數目即可,其實就算你隨便定義行和列的大小也可以運行,只要將數組地址傳進去即可

I. C語言 二維數組的列 事先未知(要用戶輸入) 怎樣把這個數組作為參數傳遞給函數

intfunc(int**a){
input(size);
malloc(a,size);
dosomething;
free(a);
}

熱點內容
matlab遺傳演算法約束 發布:2025-01-18 15:31:33 瀏覽:909
果凍java 發布:2025-01-18 15:25:59 瀏覽:695
電腦與時間伺服器同步間隔 發布:2025-01-18 15:21:28 瀏覽:54
蘋果手機apple登錄密碼在手機哪裡 發布:2025-01-18 15:13:43 瀏覽:380
吃雞去哪裡下手游安卓 發布:2025-01-18 15:10:59 瀏覽:668
東方財富dk指標源碼 發布:2025-01-18 14:45:53 瀏覽:435
陌陌登陸密碼是什麼 發布:2025-01-18 14:36:54 瀏覽:848
海龜編譯器代碼 發布:2025-01-18 14:16:51 瀏覽:34
大閘蟹網站源碼 發布:2025-01-18 14:12:19 瀏覽:105
電腦伺服器日期怎麼改 發布:2025-01-18 14:05:03 瀏覽:687