C语言中怎么把一维数组初始化都为0,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中怎么把一维数组初始化都为0,相关的知识,希望对你有一定的参考价值。

1、首先,需要定义数组,数组常用类型有int型,float浮点型,char字符型等,输入即可定义。

2、然后就是数组的名称了,可以自己定义,但是要符合相应规则。

3、一般在数组定义阶段就确定数组的大小,输入数字即为数组大小,如下图所示。

4、然后,可以对数组进行初始化,在花括号中输入即可。

5、如果初始化输入的数字未达到定义长度,后面则默认初始化为0。

6、在数组定义和初始化后面要加上分号,如下图所示,点击输入即可。

参考技术A 1、前面赋值过的元素会输出所赋的值,后面未赋值的元素会输出此内存位置之前所存的值。
2、语法上不初始化直接使用是合法的,不会报错。
参考技术B 比较简单的有两种 方法。 一种是 在定义的时候直接赋值为0, int a[10]=0;
另一种 是
memset 在头文件string.h里
int a[10];
memset(a,0,sizeof(a));本回答被提问者采纳
参考技术C 最简单的方法就是用一个循环吧数组所有元素设置为0:
int arr[100];int i = 0;for(i = 0 ; i < 100 ; i++)
arr[i] = 0; //This will make all ZERO

我们还可以利用其他几种方式做到初始化数组为0:
1、全局变量和静态变量初始化时会自动被设置为0。如果们声明全局变量,那么他在运行前会变成全0。
int arr[1024]; // This is globalint main(void)
//statements

2、对于局部数组我们还有简写的初始化语法。如果一个数组被部分初始化,没有被初始化的元素会被自动设置为相应类型的0。这是编译器自动完成的。可以这样写:
int main(void)
int arr[1024] = 0; // This will make all ZERO // statements

变长数组(柔性数组)不可用。
3、你还可以用memset函数在程序开始时初始化数组。这条命令这在你已经修改了数组之后又想将它重置为全0特别有用。(变长数组适用)
头文件:#include <string.h>
int arr[1024];
arr[5] = 67;
memset(ZEROARRAY, 0, 1024); //This will reinitialize all to ZERO
参考技术D int a[10]=0;

这样就可以了追问

二维数组呢

追答

int a[2][2]=0,0;

C语言一维数组转二维数组

假设,一维数组有25个元素 分别是 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35把它转成二维数组 排成 5X5的矩阵且从小到大排列 如: 11 12 13 14 1516 17 18 19 2021 22 23 24 2526 27 28 29 3031 32 33 34 35 写出这段程序 用Tubor C写 把一维数组a[25] 转换成 b[5][5] 最好有有说明 详细点

1、我们先是定义一个二级指针和行列变量【int **array,row,column;】。

2、然后我们编写输入行列的语句。

3、为其开辟一个一个一维装着一维数组的数组。

4、接下来我们使用【array[i]=(int *)malloc(sizeof(int)*column);】为数组再次产生一个新的装着数组的数组。

5、然后我们就可以为其赋值并输出。

6、运行程序后我们就可以看到这样的效果了。

参考技术A

1、一维数组的声明包括如下结构:类型变量名[N],其中N是你要定义的一维数组长度。

下面我们就通过一个例子声明一个int类型的数组,并且进行数组的赋值以及输出。

2、在cpp文件main()函数中输入以下语句。

inta[10];//声明一维整形数组,数组长度为10。

for (int i =0;i<10;i++)

a[i]=i;

cout<<i<<endl;

return0;

然后ctrl+F5运行,我们可以看到如下结果:在i行输出的是a[i]。

3、二维数组的声明结构:类型变量名[M][N],其中M代表行数,N代表列数,下面我们也通过一个例子声明一个整形(int)的二维数组,并且进行相应的赋值与输出。

4、在main()函数中输入以下代码。

inta[4][5];//二维数组声明。

inti,j;

for ( i =0;i<4;i++)

for (j=0;j<5;j++)

a[i][j]=(i+1)+(j+1);

cout<<a[i][j]<<"  ";

cout<<endl;

return0;

然后ctrl+F5运行,结果输出的内容是二维数组的每个元素,二维数组就是矩阵,数组的每个元素是相应的行号和列号的和。

参考技术B int a[25]=11,12.....;//大括号里面是25个数,偷懒不抄了
int b[5][5];//二维数组
for(int i=0;i<5;i++)

for(int j=0;j<5;j++)

b[i][j]=a[i*5+j];//注意理解下a[i*5+j]

参考技术C #include <stdio.h>
// 实现从小到大的排序
void sort(int arr[], int n)

int i, j, temp;
for( i = 0; i < n; i++)

for(j = 0; j < i; j++)

if(arr[i] < arr[j])

temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;



// 将一维数组转化为二维数组
void convert(int array[], int result[][5])

int i, j, temp, point = 0;
for( i = 0; i < 5; i++)
for(j = 0; j < 5; j++)
result[i][j] = array[ point++];

void print(int result[][5])

int i, j, temp;
for( i = 0; i < 5; i++)

for(j = 0; j < 5; j++)
printf("%d\t", result[i][j]);
printf("\n");


int main()

int array[25] = 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35;
int result[5][5];
sort(array, 25);
convert(array, result);
print(result);
return 0;

希望你看明白,不懂再问啊。
参考技术D

代码如下:

void fun(char *a)

int b[3][3]=0;

int i=0;

int j=0;

while(*a)

if(*a == '\\n')

i++;

j=0;

b[i][j++]=*a-'0';

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

以上是关于C语言中怎么把一维数组初始化都为0,的主要内容,如果未能解决你的问题,请参考以下文章

c语言中怎么把一维数组初始化为全零啊,不用循环

在C语言中定义二维数组long a[3][5],则数组占多少字节的存储空间?

c语言中一个一维数组怎样去重?

C语言中,对于不知道长度的数组怎样输入。。。

C语言中,对于不知道长度的数组怎样输入。。。

c语言二维数组