C结构

Posted Debugor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C结构相关的知识,希望对你有一定的参考价值。

今天就写下C结构吧

C的结构分为2部分,声明结构和定义结构变量

声明结构

先讲声明结构把,直接上声明结构的格式

struct book {
    char title[40] ;
    char author[40];
    float value
}

C结构说白了就是js的对象把,这个东西的存在就是为了将不用数据类型的数据放在一起。放在一起之后怎么才能找到这些数据呢?

这就用到了结构的第二个部分,定义结构变量,用结构变量去找这个结构的数据

定义结构变量

定义结构变量如下代码

struct book library

初始化看下面

struct book library={
    "mie",
    "good boy",
    100.2
}

访问结构变量成员用.看下面代码

library.value
查书的价格

结构数组

一堆结构形成的数组

指向结构的指针声明

struct guy *him

struct guy 就类似数据类型中的int,float

指针指向结构的时候,结构的名字需要在前面加上&符号。如

him=&boy(不同于数组)

 

使用指针访问成员

a.指针->结构元素名

b.(*him).income

 

向函数传递结构信息

可以向函数传递3种参数

a 传递结构成员的具体值。

这个就和传递一个普通变量是一样的

b 传递结构地址

这个把结构地址传进去,函数内的任何改变都会影响到外部的数据

c 直接把整个结构传递进去

这个最彻底,把结构的数据都给函数

 

这几种有啥区别呢?

就讲b和c把,(a就是普通值)

b特点,传递信息少,就一个地址,处理块,但是地址修改会反应到外面,但是可以用const限定符解决这个问题了

c特点,可以传递一份原结构的副本,修改来源可靠,但是整个数据结构传递进去给函数,相比就传一个地址,鸭梨有点大

 

今天去扫墓了,有点累,就写这么多吧

EOF

 

以上是关于C结构的主要内容,如果未能解决你的问题,请参考以下文章

C 语言结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )

c 中的结构:在结构本身中声明新变量

C语言结构体定义

如何在 C 中声明结构数组

C语言—自定义类型

c语言----结构体--声明及定义