c语言中如何给数组定义并赋初值?

Python013

c语言中如何给数组定义并赋初值?,第1张

字符串数组定义赋值

char c[6]={'c', ' h ', 'i', 'n', 'a' , '\0' }

整数数组定义赋值:

int a[5]={1,2,3,4,5}

int a[5]

    for(int i=0i<5i++)

     a[i]=i

定义float数组并赋值:

float b[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,0.0}

扩展资料:

数组:是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。  这些无序排列的同类数据元素的集合称为数组。

声明固定大小的数组:

有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:

1,建立公用数组,在模块的声明段用 Public语句声明数组。

2,建立模块级数组,在模块的声明段用 Private语句声明数组。

3,建立局部数组,在过程中用 Private语句声明数组。

参考资料来源:百度百科-数组

需要注意的是:char

buff[5]={0}和char

buff[5]={'0'}是两个完全不同的概念:

char

buff[5]={0}的赋的是一个字符串的结束符,而不是一个字符'0';

char

buff[5]={'0'}才是给第一个字符赋值为'0'。

大家喜欢用char

buff[5]={0}主要是想制造一个空的字符串,

你调试一下就知道了:

如果这样写:

#include

void

main

{

char

buff[5]={0}

printf("%s",buff)

}

是没有任何输出的,因为printf遇到的buff的第一个字符就是个字符串的结束符'\0'

而如果这样写:

#include

void

main

{

char

buff[5]={'0'}

printf("%s",buff)

}

才会看到输出了一个'0'

这才是你理解的给第一个单元赋值为‘0’。

char

buff[5]={0}是一种定义空字符数组的严谨的写法!

有3种方法。

1.

将数据保存到文件中,再直接从文件读取。

2.

因为是二维字符数组,可以直接用字符串赋值,如:

char strs[2][11]=

{

"123456",

"asd"

}

3.

将所有数据定义成宏,再赋值,如:

#define data { \

{'a','b','c'}, \

{'a','1',b','c','5'} \

}

char str[2][11]=data