本文目录一览

1,c语言中如何定义和使用数组

类型 标识符[长度];标识符[下标(从0开始)];=*(标识符+下标)
定义(以int类型举例):inta ;//定义长度为5的数组,无初始化;inta ={1,2,3,4,5};//定义数组并初始化;inta ={1,2,3};//定义并初始化数组不给出数组长度;数组的使用:inta ={1,2,3};inti;访问单个元素:intb=a ;//b=1,数组的下表从0开始;遍历数组:for(i=0;i3;i++){printf(%d,a );}//打印输出数组a的各个元素;

c语言中如何定义和使用数组

2,定义数组注意哪些条件

C语言数组的定义要注意的地方:数据类型要匹配(由其是指针数组).数组长度的问题(最好不要定义数组长度.更多的时候会发生数据溢出)
1. 充分估计程序所需要的最大数组元素个数,不要因为估计数量不足导致程序寻址越界2. 注意数组元素的个数,不宜过多,否则需要在之后的寻址中采用指针比较高效3. 大数组最好开设成全局变量,这样各子程序都可以方便地访问4. 子程序中最好不要开设大数组,容易导致堆栈问题,尤其是调用频繁的子程序,会浪费大量的操作在堆栈上5. 不要建立维数过多的数组,会导致大量的寻址运算和自己编程逻辑混淆问题6. 在开设大的数组时,最好事先规划好编译选项中堆的尺寸,避免堆溢出导致的运行失败

定义数组注意哪些条件

3,c语言中定义一个函数函数输出结果是一个数组整个的形式是怎

提供两个办法:1.在主调函数中建立数组,将数组指针传给自定义的函数,处理后主调函数中的数组值也就变化了。void fun(int a[],int n) ........}//其中a[]就是要输入的数组,n是这个数组的长度。void main(void) int arry[10]= fun(arry,10); ......}2.可以在主调函数中建立数组并把首地址和长度传给函数,在函数中创建一个动态数组,处理完后把动态数组的首地址返回主调函数,最后在主调函数中释放动态申请的内存。int *fun(int a[],int n) int *p=(int *)malloc(n*sizeof(int));//申请内存. if(!p) printf("failure..."); exit(0); } memcpy(p,a,n*sizeof(int));//把主调函数的数组拷贝过来. ...... return p;}void main(void) int arry[10]= ptmp=fun(arry,10); ...... free(ptmp);//释放申请的空间.}数组的内容是不能一一传给函数的……
⒈你可以定义全局变量,这个是存储在静态内存区, 你在main函数定义的struct student st; 这个结构体是局部变量 它是存放在堆栈上的,当函数结束时,就会释放内存! ⒉你的代码设计有错误,你之定义一个结构体变量,但是,你是对一些结构体变量赋值,这个很显然是错误,这个可以用链表 或者,你定义一个结构体数组! ⒊具体做法如下 struct student char name[100]; char sex[2]; float result; }st[200]; 还要注意一点,你的所有函数的中结构体成员必须要改啊!
可以吧函数的输入部分加上这个数组,在函数体内改变数组的元素值,在主函数调用时就等于给主函数输出了一个数组。例如void main() int i,num[5]; void ddt(int []); ddt(num); for(i=0;i<5;i++) printf("%d ",num[i]); }}void ddt(int num[5]) for(int i=0;i<5;i++) num[i]=i+1;}在主函数中将输出1 2 3 4 5

c语言中定义一个函数函数输出结果是一个数组整个的形式是怎


文章TAG:c语言  语言  定义  一个  C语言定义一个数组  
下一篇