关于结构体的小知识点有哪些,关于结构体的小知识点归纳
Yyds干货库存
1.结构的声明结构是值的集合,这些值被称为成员变量。结构的每个成员可以是不同类型的变量。
结构标记{ member-list;//成员变量}变量-列表//结构变量-是全局变量;//注意这个惩罚号不能省略。例如:
结构书{ char name[20];char作者[20];int价格;}b1,B2;结构书B3;int main(){ struct Book B4;返回0;}上面的b1,b2,b3是全局变量,b4是局部变量。
名称、作者和价格是该结构的成员变量。
strut book-这整个就是结构类型名。
2.匿名结构struct { int a;char c;双d;}s1,S2;struct { int a;char c;双d;} * p;int main(){//stur CT S4;//err p=//error}虽然上面两个结构的成员类型是一样的,但是编译器会把上面两个声明当作两种完全不同的类型。
匿名结构只能使用一次。
自引用//结构1的写入:错误写入结构节点{ int data下一个结构节点;};//正确写入结构节点{ int data//数据字段struct Node * next//指针字段,指向下一个结构};判断:
typedef sturct { int data节点*下一个;}节点;//这样写可以吗?//不,当你使用Node的时候,你还没有定义Node。//正解typedef sturct节点{ int data节点*下一个;}节点;初始化结构该结构用花括号{}初始化。
结构点{ int x;int y;}p1={ 5,6 },p2={ 7,8 };结构点p3={ 1,2 };int main(){结构点p4={ 3,4 };返回0;}因为p1是一个局部变量,直到到达局部范围才被创建,所以p1里面的值一开始是随机的。
其他的都是全局变量,程序开始运行就存在了。
该结构包含结构结构点{ int x;int y;}p1={ 5,6 },p2={ 7,8 };结构S { double d;结构点p;};int main(){结构点p1={3,4 };struct S s={ 3.14,{1,5 } };返回0;}结构包含数组struct S { double a;char c;int arr[20];}int main{ struct S={3.14, a ,{1,2,3 } };//数组arr只初始化前三个的值,后面的不初始化为0返回0;}结构访问//方法一:结构变量。结构成员//方法2: (*结构变量指针)。结构成员//方法三:结构变量指针——结构成员struct Point { int x;int y;};结构S { double d;结构点;int arr[20];};int main(){ struct S={ 3.14,{2,3},{1,2,3 } };//方法一:printf (%lf% d% d% d \ n ,s.d,s.p.x,s.p.y,s . arr[0]);//方法2: structs * ps=printf (%lf% d% d \ n ,(* ps)。d、(* ps)。p.x,(* ps)。p.y,(* ps)。arr[0]);//方法3 printf (%lf% d% d% d \ n ,PS-d,PS-p.x,PS-p.y,PS-arr[0]);返回0;}转载请联系作者授权,否则将追究法律责任。评论0发表评论
wx61e3d66adced0
2022-03-26 22:35
并分享了一下,666。大佬之间有血缘关系吗?
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。