三九宝宝网宝宝教育教学论文

c语言关于定义二维数组的问题

01月06日 编辑 39baobao.com

[在c语言中怎么将数组直接作为函数的参数比如 int fint a10在调用函]要把数组作为函数的参数,在函数定义的时候,就要在参数列表设置指针,因为数组名就是数组的头指针,在调用时直接把数组名作为函数的参数就好了 比如 int fun(int *a) { //... } in...+阅读

首先你要理解二维数组的真正含义,它的第一维就是一组数据的起始地址,第二维就是某组数据中的某个值.其次,你要知道a[][4]所表达的意思,是指二维数组a的每一维都是由4个元素组成的一维数组.而编译器可以根据你赋给a的初值个数计算它的第一维长度(元素总个数/4,如果不能整除,则长度加1,此时还应该有几个没有赋初值的数组元素).而a[3][]的意思从表面上看可以成立,但问题是编译器不能直接识别其第二维的确切长度(你可以考虑,如果总的初值个数为2时,可以认为a的第二维长度为1,也可以是2,.......),这样就会产生错误.所以,可以a[][4]={*,*,*……}这样定义,而不能定义a[3][]={*,*,*……}。

对于你补充的问题,其实我已经讲了.因为赋初值是5个元素,所以5/4=1,但除不尽,所以要加1,即实际数组a实质上定义为a[2][4],其内元素为:

1 2 3 4

5 0 0 0 (后面的三个0是系统默认值)

希望对你有所帮助.^-^

以下为关联文档:

关于c语言中数组作为函数参数的函数之间调用问题1、新建一个数组作为参数项目,如图所示: 2、添加一个array.c文件,如图所示: 3、包含stdio.h和stdlib.h头文件,如图所示: 4、输入main函数主体及返回值,如图所示: 5、定义一个数...

c语言编程指针数组作为函数参数#include #include int main() { void sort1(char **p1); void print(char **p2); static char *name[]={"zhang","wang","li","zhao","abe"}; sort1(name); print(name); return 0; }...

c语言数组作为函数参数怎样写如果一个函数的目的是要产生一个新的数组,那么最好的做法是在调用函数前就生成好这个数组,然后把这个数组作为参数传给函数,在函数中修改这个数组的值. 像你这种做法,在sum函数...

C语言数组问题歌咏比赛上有十个评委打分计分规则去掉一个1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include<stdio.h> intmain() { intn,a[1000]; while(scanf("%d",&n)!=EOF & n!=0) { intmax=1e-8,min=1e8; for(inti=0...

c语言求二维数组中所有元素的和遍历二维数组,逐个累加即可。 以二维数组为10行5列为例。 1 2 3 4 5 6 7 8 9 inta[10][5],i,j,s=0; for(i = 0; i < 10; i ++) for(j = 0; j < 5; j ++) scanf("%d",&a[i][j]);/...

请用C语言:求一个数组中所有元素的和在主函数中检验如果说,数组中保存的是数字,那简单,全部加起来。 如果说,数组中保存的是字符串型数字比如“100”,那你需要把字符串转成数字再相加。 或者还可以把所有字符拼接在一起。 1 2 3 4...

c语言二维数组里的元素可以相加吗可以的,只要你调出来 #include "stdio.h" int mian(void) { int s; int h1,h2,h3,l1,l2,l3; int ss[3][3]={0}; for (int i=0; i<3; i++) { for (int j=0; j<3; j++) { print("请...

关于C语言定义二维数组的问题以下能正确定义二维数组的是 -- 以下能正确定义 数组的是 (去掉二维两字)。 A) int a[ ][3]; -- 语法错,没带初始化,不允许用 [空白],不允许 数组大小不定。 B) int a[ ]={2*3} --...

C语言二维动态数组问题p不是二维数组,是指向指针的指针,而且p[i]这样的使用也是错误的。 指向指针的指针,意思就是说这个指针必须指向一个指针类型的地址,因为指针是一个变量,因此指针也有自已的地址。...

推荐阅读
图文推荐