C语言中一维数组与二维数组有什么区别和共同点
二维数组就是数组的数组,举个例子:一维数组就像一行字,每个字都是该一维数组的一个元素;二维数就像一张纸(有很多行字),每一行字都是该二维数组的一个元素,而每行的每个字,都是该行(一维数组)的一个元素。。。。
c语言的一维数组中至少要有几个元素
直接定义int *array;然后检测数组有多少个元素,假设是narray=(int*)malloc(n*sizeof(int));就行了,用完以后记得free(array);释放掉,不然可能造成内存泄漏。
C语言中,怎样将一个一维数组中的数,赋给一个二维数组
可以采用两种方式:
1 按元素赋值:
遍历一维数组,并将每个元素赋值到二维数组的对应元素上。
或者遍历二维数组,将每个元素赋值为一维数组对应值上。
优点为操作灵活,可以按照需要任意赋值。
2 当一维数组和二维数组类型相同,而且赋值顺序与一维数组中的存储顺序完全相同时,可以用memcpy的方式,直接一次性赋值。
如一维数组为a,二维数组为b,基础类型为TYPE,需赋值元素个数为n,可以调用
memcpy(b,a,sizeof(TYPE)*n);
该方法有点为操作简单,执行效率高。
不过所需满足的前提条件多。在满足上述所有条件时,用memcpy的方式更为简单。
C语言一维数组10个元素的最大值及下标
#include
void main()
{
int max;
int a[10];
int h;
printf("please input 10 number\n");
for(int i = 0; i
scanf("%d",&a[i]);
max = a[0];
for(i = 0; i
{
if(a[i] > max)
{
max = a[i];
h = i;
}
}
printf("最大值是:%d, 下标是:%d\n", max, h);
}



还没有评论,来说两句吧...