㈠ c语言 数组 定义时赋值
c语言不允许在定义的时候直接用变量赋值。但用v[0]=x,v[1]=y...这样的方法是可以的。
至于数组长度,C语言不支持动态定义大小,如int
n=5;int
a[n];这样也是错的。所以数组一般要定义成足够大。
㈡ C语言中二维字符数组应该怎样赋值
二维数组赋值的一般形式是:dataType arrayName[length1][length2]。result二维字符数组可以这样赋值,result[0][0]=seq1[0] ;result[1][0]=seq2[0]。
dataType arrayName[length1][length2],其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标的长度。
例如:int a[3][4],定义了一个3行4列的数组,共有3×4=12个元素,数组名为a,即:
a[0][0], a[0][1], a[0][2], a[0][3]
a[1][0], a[1][1], a[1][2], a[1][3]
a[2][0], a[2][1], a[2][2], a[2][3]
在二维数组中,要定位一个元素,必须给出一维下标和二维下标,就像在一个平面中确定一个点,要知道x坐标和y坐标。例如,a[3][4] 表示a数组第3行第4列的元素。
(2)c语言2维数组不在定义时赋值扩展阅读:
二维数组的地址计算
有二维数组A[m][n],设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:
LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t
按“列优先顺序”存储时,地址计算为:
LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t
存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节
㈢ C语言二维数组赋值问题
先直接将数组所有元素赋为0,然后按照用户输入逐个给元素赋值,这样没有赋值到的元素自然是0。
㈣ C语言二维数组的赋值问题
data[0][20]是一个char类型,而且下标越界了,data[0][20]=data[1][0]
*q也是一个char
char *q;定义的变量是q,不是*q,这一点要先理解透彻。
㈤ C语言定义一个整型二维数组,若没有赋值,系统自动给的是0吗
C语言规定,普通数组没有赋初值,默认的数组元素值是随机数,不是0。
如果在定义数组时,数据类型前面加上关键字static,数组变成了静态数组;或者把数组定义在函数的外面,成为全局变量数组,这时数组元素的值自动赋值为0。
㈥ c语言中二维数组如何部分赋值求解,谢谢。
给二维数组中的部分元素赋值,一般是采用单个元素逐个进行赋值。如果是为每一行的前若干个连续元素赋值可以在定义数组变量的时候一起初始化。
这时候,初始化必须要为整个数组全部元素赋值或者为数组中,前若干行的前若干个元素赋值,这时其余未赋值的元素自动被赋值为初始值0。
#include#include<stdio.h>
int main()
{ float pay[3][6];
pay[1][2]=6;
printf("pay[1][2]=%f\n",pay[1][2]);
return 0;
}
㈦ c语言中怎样实现对二维数组元素进行赋值并输出。
可以按照下面步骤进行定义二维数组并输出:
1 定义二维指针。
2 确定数组维数,即行数和列数。
3 申请行数个一维指针大小空间,并赋值给二维指针。
4 对于每个一维指,申请列数个元素的空间,并赋值给对应的一维指针。
5 输入或赋值数据。
6 使用双重循环,逐个范围存储单元并输出。
7 逐个释放一维指针上的内存。
8 释放二维指针上的内存。
以整型二维数组为例:
下面的代码,实现先输入二维数组的行数m和列数n,并再输入m*n个整型数据存到动态二维数组中。最后输出所有二维数组的元素值。
㈧ c语言二维数组的赋值
1、首先在电脑上打开c语言编程软件。然后创建项目。
㈨ c语言中二维数组的赋值问题,很奇怪
改成这样就能运行但是 ,你这小程序有点问题。自己改下吧,输出结果一定不对
#include<stdio.h>
int main()
{
int i=3;
float a[2][2];
for(i=0;i<2;i++)
scanf("%f,%f",&a[i][0],&a[i][1]);
printf("%f",a[1][1]);
return 0;
}