C语言 二维数组做参数的形式
Posted 流楚丶格念
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 二维数组做参数的形式相关的知识,希望对你有一定的参考价值。
二维数组的3种参数形式
第一种形式:int arr[3][3]
void PrintArray01(int arr[3][3]){
for (int i = 0; i < 3; i++){
for (int j = 0; j < 3; j++){
printf("arr[%d][%d]:%d\\n", i, j, arr[i][j]);
}
}
}
第二种形式:int arr[][3]
void PrintArray02(int arr[][3]){
for (int i = 0; i < 3; i++){
for (int j = 0; j < 3; j++){
printf("arr[%d][%d]:%d\\n", i, j, arr[i][j]);
}
}
}
第三种形式:int(*arr)[3]
数组指针的形式
void PrintArray03(int(*arr)[3]){
for (int i = 0; i < 3; i++){
for (int j = 0; j < 3; j++){
printf("arr[%d][%d]:%d\\n", i, j, arr[i][j]);
}
}
}
案例代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
// 形式参数:第一种形式
void PrintArray01(int arr[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("arr[%d][%d]:%d\\n", i, j, arr[i][j]);
}
}
arr[0][0] = 1111;
}
// 形式参数:第二种形式
void PrintArray02(int arr[][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("arr[%d][%d]:%d\\n", i, j, arr[i][j]);
}
}
arr[0][0] = 2222;
}
// 形式参数:第三种形式
void PrintArray03(int(*arr)[3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("arr[%d][%d]:%d\\n", i, j, arr[i][j]);
}
}
arr[0][0] = 3333;
}
// 实际参数
void PrintArray04(int** arr) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("arr[%d][%d]:%d\\n", i, j, arr[i][j]);
}
}
arr[0][0] = 4444;
}
void test() {
int arr[][3] = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
printf("第一种:\\n");
PrintArray01(arr);
printf("arr[0][0] = %d\\n", arr[0][0]);
printf("第二种:\\n");
PrintArray02(arr);
printf("arr[0][0] = %d\\n", arr[0][0]);
printf("第三种:\\n");
PrintArray03(arr);
printf("arr[0][0] = %d\\n", arr[0][0]);
}
int main()
{
test();
return 0;
}
以上是关于C语言 二维数组做参数的形式的主要内容,如果未能解决你的问题,请参考以下文章