结构体=0表示啥意思?哪位高手指点下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构体=0表示啥意思?哪位高手指点下相关的知识,希望对你有一定的参考价值。

该问题涉及到数据类型初始化的问题,现将C语言中数据类型初始化总结如下

简单变量的初始化形式如下: 数据类型 变量名=初始化值;
例如,定义整型变量a,并给其初始化值10的语句如下
int a=10;

数组的初始化,需要通过一常量数据列表,对其数组元素分别进行初始化,形式如下:
数据类型 数组名称〔数组长度〕=初始化值1,初始化值2,…, 初始化值n;

例如,定义长度为5的整型数组,并对其初始化的语句如下:
int A[5]=20,21,0,3,4;

结构体变量的初始化方式与数组类似,分别给结构体的成员变量以初始值,而结构体成员变量的初始化遵循简单变量或数组的初始化方法。具体的形式如下:
struct 结构体标识符

成员变量列表;

;
struct结构体标识符 变量名=初始化值1,初始化值2,…, 初始化值n ;
例如,定义struct Point类型变量,并初始化的语句如下:
struct Point oP1=0.0,0.2,0.3;
struct Point类型变量oP1的三个成员变量的值分别为
oP1.x=0.0,
oP1.y=0.2
oP1.z=0.3
由于定义结构体变量有三种方法,因此初始化结构体变量的方法对应有三种,上面已经介绍了其中的一种形式,其他两种形式如下:
struct Point

double x;
double y;
double z;
oP1=0.0,0.2,0.3; struct

double x;
double y;
double z;
oP1=0.0,0.2,0.3;
在初始化结构体变量时候,既可以初始化其全部成员变量,也可以仅仅对其中部分的成员变量进行初始化。例如:
struct Student

long id;
char name[20];
char sex;
a= 0;
其相当于a.id=0;a.name=“”;a.sex=‘\0x0’。
仅仅对其中部分的成员变量进行初始化,要求初始化的数据至少有一个,其他没有初始化的成员变量由系统完成初始化,为其提供缺省的初始化值。各种基本数据类型的成员变量初始化缺省值如表9-1所示。

数据类型
缺省初始化值
Int 0
Char ‘\0x0’
float 0.0
double 0.0
char Array[n] ”
int Array[n] 0,0…,0

对于复杂结构体类型变量的初始化,同样遵循上述规律,对结构体成员变量分别赋予初始化值。例如:
struct Line

int id;
struct Point StartPoint;
struct Point EndPoint;
oLine1=0, /*初始化id */
0,0,0, /*初始化StartPoint*/
100,0,0 /*初始化EndPoint */
;
其中常量0用于初始化oLine1的基本类型成员变量id;常量列表0,0,0用于初始化oLine1的struct Point类型成员变量StartPoint;常量列表100,0,0用于初始化oLine1的struct Point类型成员变量EndPoint。

参考资料:http://www.neu.edu.cn/cxsj/pointchart/c9-struct/Untitled(8).html

参考技术A 意思是结构体给出了一个int空间,其他什么意思都没有

以上是关于结构体=0表示啥意思?哪位高手指点下的主要内容,如果未能解决你的问题,请参考以下文章

结构体变量赋值

((struct ip *)0)是啥意思???

c语言里面的结构体是啥意思

C语言结构体指针定义问题 - C / C++ -

请问 C语言里的 结构体中定义变量 后面的:是啥意思

c#Regex是啥意思,哪位高手能完全的解释下IsMatch(strIn,@"^[a-zA-Z0-9]6,16$");