第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

設(shè)有一個(gè)函數(shù)設(shè)為mini,需要二維數(shù)組作為參數(shù),那么此時(shí)函數(shù)參數(shù)怎么寫?

設(shè)有一個(gè)函數(shù)設(shè)為mini,需要二維數(shù)組作為參數(shù),那么此時(shí)函數(shù)參數(shù)怎么寫?

C PHP
桃花長相依 2022-04-15 17:11:29
如果定義一個(gè)二維數(shù)組int a[N][N];其中N是scanf得到的輸入值。再有一個(gè)函數(shù)設(shè)為mini,需要二維數(shù)組作為參數(shù),那么此時(shí)函數(shù)參數(shù)怎么寫?如果寫void mini(int a[][])會報(bào)錯(cuò)說第二個(gè)維度要定義,寫void mini(int a[][N])說[Error] array bound is not an integer constant before ']' token,寫void mini(int *a[])說[Error] expected ',' or '...' before 'a',那我到底該怎么辦?
查看完整描述

2 回答

?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊

可以寫成兩個(gè)參數(shù) void mini(int **a, int n)
一個(gè)參數(shù)傳數(shù)組指針,一個(gè)參數(shù)傳數(shù)組大小

查看完整回答
反對 回復(fù) 2022-04-19
?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊

所謂二維數(shù)組,實(shí)際上是指向數(shù)組的指針,比如:

int n=2,m=3;

int arr[n][m];

實(shí)際上相當(dāng)于:

int n=2,m=3;

int (*arr)[m];

所以,傳遞二維數(shù)組作為參數(shù),實(shí)際上就是傳遞了一個(gè)指針。


將形參的類型定義成int*,再在函數(shù)內(nèi)部轉(zhuǎn)換回指向數(shù)組的指針就行了,比如:

void f(int *p,int row,int column)

{

int (*arr)[column]=(int (*)[column])p;

//使用二維數(shù)組arr

}

這樣傳遞參數(shù):

int n=5,m=6;

int arr[n][m];

f((int*)arr,n,m);


下面是一個(gè)例子:

#include <stdio.h>

void f(int *p,int row,int column)

{

int (*arr)[column]=(int (*)[column])p;

for(int i=0;i<row;i++)

{

for(int j=0;j<column-1;j++)

printf("%d,",arr[i][j]);

printf("%d\n",arr[i][column-1]);

}

}

int main()

{

int n;

scanf("%d",&n);

int arr[n][n];

for(int i=0;i<n;i++)

{

for(int j=0;j<n;j++)

arr[i][j]=i*n+j;

}

f((int*)arr,n,n);

return 0;

}

這是運(yùn)行截圖:

http://img1.sycdn.imooc.com//625e7faf00011ef902980577.jpg


查看完整回答
反對 回復(fù) 2022-04-19
  • 2 回答
  • 0 關(guān)注
  • 280 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號