C语言变长数组的学习心得

来源:互联网 发布:怎样注册网站域名 编辑:程序博客网 时间:2024/06/03 15:07

初次接触变长数组时我很不明白引入变长数组的意义,因为变长数组虽然是使用变量来指定数组的维度,但是这样操作与声明一个常量再应用似乎没什么区别。

例如:1.使用普通数组                                                            

  #include<stdio.h>

#define ROWS 3

#define CLOS 4

int main()   

{   

 int arr[ROWS][CLOS]={......}

}

2.使用变长数组

#include<stdio.h>

int main()

{

int r=3;

 int c=4;

int arr[r][c]={.....}

}

两者都是先定义好维度数再定义数组,进行赋值,好像没什么区别。

但是,假如应用于定义函数的形参时,变长数组就有很大的便利。

例如:1.使用普通数组

#define COLS 4

    int sum(int arr[][COLS],int rows)//这样的函数只能处理列数为4的数组

           2.使用变长数组

int sum(int rows,int cols,int arr[rows][cols])//将行和列都用变量表示,函数调用二维数组时就可以调用任意行列数的数组了,是不是很方便啊

原创粉丝点击