结构体数组怎么初始化?
struct city_t
{
char name[20];
double population;
double housing;
double ave;
};
struct city_t cities[2] = {{"a", 1,1,1}, {"b", 1,1,1}};
char数组可以用null初始化吗?
char数组可以使用null进行初始化。当用null初始化char数组时,数组中的每个元素都会被初始化为null字符('\0')。以下是一个示例代码:
```java
char[] charArray = new char[10];
Arrays.fill(charArray, '\0');
```
在这个示例中,char数组charArray被初始化为长度为10,并且每个元素都被设置为null字符('\0')。
C语言如何给字符数组初始化?
1、直接逐个初始化字符数组:
字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。
char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};
注意:如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即'\0'
)。
2、用字符串常量来初始化字符数组:
在c语言中,将字符串作为字符数组来处理。因此可以使用字符串来初始化字符数组。
char str[]={"I am happy"};
也可以省略花括号。
char str[]="I am happy";
但是,上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的赋值,字符数组的赋值只能对其元素一一赋值,下面的赋值方法是错误的。
char str[];
str="I am happy";//错误,字符数组的赋值只能按元素一一赋值