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