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";//错误,字符数组的赋值只能按元素一一赋值
int数组默认初始值?
全局变量的int类型的数组初始值默认为0
局部int类型的数组初始值是随机的垃圾数值
在Java 中,使用数组时,如果为数组分配了内存空间,但是没有为数组元素指定初始值,系统会自动为数组元素指定初始值。数组元素的初始值与数组的数据类型有关,对于不同数据类型的数组,其数组元素的初始值是不一样的。下面将列举出不同类型数组元素的初始值。
byte在Java 程序中使用数组时,如果没有为数组元素指定初始值,byte 型数组元素的默认初始值为0。
. short在Java 程序中使用数组时,如果没有为数组元素指定初始值,short 型数组元素的默认初始值为0。
int在Java 程序中使用数组时,如果没有为数组元素指定初始值,int 型数组元素的默认初始值为0。
数组初始化为0的方式?
具体初始化方法可以参考如下程序段:
(方法一)1int a[5] = {0}
; // 将整型数组a的每个元素都初始化为0或者也可以用如下方法进行初始化:
(方法二)1int a[5] = {0, 0, 0, 0, 0}
; // 将整型数组a的每个元素都初始化为0,初始化效果同上方法一的初始化方法是将数组元素都初始化为同一个数值;
方法二的初始化方法可以分别对数组的每个元素进行初始化,每个元素的数值可以不同。
在类中怎么给字符数组成员初始化?
如果你一定要在初始化列表中初始化,可以这样做,就是麻烦了些:
class A
{
private:
union {
int a[10];
int a0;
};
public:
A(int n):a0(n){}
};
c语言数组初始化的条件?
C语言允许用字符串的方式对数组作初始化赋值。例如:
static char c[]={'c',' ','p','r','o','g','r','a','m'}; 可写为:
static char c[]={"C program"}; 或去掉{}写为:
static char c[]="C program";
当对全体元素赋初值时也可以省去长度说明。例如:static char c[]={`c`,` `,`p`,`r`,`o`,`g`,`r`,`a`,`m`};这时C数组的长度自动定为9。

