C语言数组怎么初始化,c语言数组初始化大括号能空吗

http://www.itjxue.com  2023-01-05 08:17  来源:未知  点击次数: 

C语言数组的初始化表示方法

C语言数组的初始化表示方法有4种,分别是:

1、定义的同时进行初始化,我们同样用数组的初始化引出结构体的初始化,我们知道数组在定义的同时进行初始化的代码如下:

int nums[] = {1, 3, 5};

由此可推出结构体在定义的同时进行初始化的代码如下:

struct Person p = {"lee", 23, 1.8};

2、先定义再进行初始化,这种初始化方法其实昨天的内容里已经写过了,代码如下:

struct Person p;

p.name = "lee";

p.age = 23;

p.height = 1.8;

我们知道数据定义好后就不能对其进行一次性初始化了,比如如下代码是编译不通过的。

int nums[3];

num = {1, 2, 3}

3、第三种结构体比较例外,它可以这样做,只不过需要对其进行一下强制类型转换,代码如下:

struct Person p;

p = (struct Person){"xq, 8, 8.8}

4、指定将数据赋值给指定的属性,数组中我们见过这种写法,代码如下:

int nums[3] = {[0] = 2, [2] = 1, [1] = 2};

我们可以为不同的索引指定值,并不需要一定要按顺序来,所以数组可以,结构体是否可以呢,当然,代码如下:

struct Person p = {.height = 1.8, .name = "lee", .age = 23};

C语言中数组初始化是什么?

在定义数组的同时,给各数组元素赋值,这称为数组的初始化。

当然,在定义数组时并未给数组元素赋值,然后在程序中利用循环也可以为数组元素赋值,这也可以叫做“初始化”。

c语言,结构体数组怎么初始化

对于数组元素很多的初始化可以使用初始化列表方法。在c语言中用于进行初始化的程序结构则称为初始化器或初始化列表。

1、初始化器

初始化器是声明器的可选部分,它由一个'='以及其后的一个表达式(或含有多个以','隔开的带圆括号表达式的单一列表)所组成。后面这一列表有时也被称为“初始化(器)列表”(initializer list)或”初始化列表”(initialization list)。

例:

public class Curry

{public string MainIngredient { get; set; }

public string Style { get; set; }

public int Spiciness { get; set; }}

2、初始化列表

一个类/结构的构造函数可以在定义中于构造函数体前包含一个初始化列表,用以给类/结构的元素赋初值。

例:

class foo

{public:

foo(string s, int i):name(s), id(i){} ; // 初始化列表

private:

string name ;int id ;};

扩展资料

在程序里,数据初始化也可能在没有由明确的语法来实现的情况下进行。例如说,如果一个静态变量在没有初始化(即未指定初值)的情况下被声明,则:对于原生数据类型:以对应类型的零值进行初始化;对于类中的静态对象:由其默认的构造函数来进行初始化。

每一个初始化部分里面的代码在程序运行后,或库的begin-end块运行之前。delphi使用对单元相关树的深度优先遍历来运行初始化部分。换句话说,就只在一个单元的初始化代码运行前,delphi就运行了特他使用的每一个单元的初始化部分。每一个单元仅初始化一次 。

参考资料来源:百度百科——初始化

百度百科——初始化列表

百度百科——初始化器

C语言数组 初始化

我来一一解答,希望解答的合适请多加点分,谢谢

1,C语言有的数据类型都可以作为数组的类型,不光是int,char

float

double

long

指针

结构等等都可以是数组的类型。

2,这样理解是正确的,数组中的每一个元素和这个数组类型一样的变量类型相同,取值范围相同,只是引用方式不一样。

3,是的,数组的性质都是一样的,不光是char,所有类型都符合这一规律

4,那么char型变量和数组用什么值给其初始化比较安全?这种提问没有见过,只能说不初始化会使数组指向其他内存单元,导致不确定的值。最好是在数组初始化的时候赋给你需要用的值

还有什么问题可以Hi我

在C语言中数组的初始化是如何定义的?

变量可以在定义的时候初始化,数组也可以。array[5]={1,2,3,4,5};

在定义数组时,可以用放在一对大括号中的初始化表对其进行初始化。初始化值的个数可以和数组元素个数一样多。

如果初始化的个数多于元素个数,将产生编译错误;如果少于元素个数,其余的元素被初始化为0。

如果维数表达式为空时,那么将用初始化值的个数来隐式地指定数组元素的个数,如下所式:nt array[]={1,2,3,4,5};

这也表明数组 array元素个数为5。main()

}

int i,array[]={1,3,5,7,9,11}; for(i=0;i5;

printf(%d,array[i]); r(i=0;i5;i++) p

printf(\n);

最终结果为13579

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";//错误,字符数组的赋值只能按元素一一赋值

(责任编辑:IT教学网)

更多