标签:
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
标签:
原文地址:http://www.cnblogs.com/wz0107/p/5348328.html