结构体
来源:互联网 发布:linux进程占用cpu过高 编辑:程序博客网 时间:2024/05/18 14:42
1.定义: 结构体是程序员自己创建的一种数据类型
2. 结构体的创建
2.1 格式
struct Example{ int i; //成员变量 char ch; double d;};typedef struct{ int i; char ch; double d;}Example1;
2.2 如何使用结构体定义变量,操作变量
struct Example s; s.i=10; //点是一个成员运算符 s.ch='a'; //结构体变量的成员只能逐个操作 s.d=3.14; NSLog(@"%d,%c,%lg",s.i,s.ch,s.d); Example1 s1={20,'b',2.68}; //用typedef struct 定义在用的时候可以不用在Example前面写struct; NSLog(@"%d,%c,%lg",s1.i,s1.ch,s1.d);
2.3 初始化
Example1 s1={20,'b',2.68};
2.4 结构体指针及访问成员变量的方法
Example1* p = &s1; //通过指针对成员变量,要使用->这个成员运算符 p->i=30; p->ch='c'; p->d=9.9; NSLog(@"%d,%c,%lg",p->i,p->ch,p->d);2.5 结构体数组及初始化tExample1 s2[3]={ //结构体数组 {10,'a',3.14}, {20,'b',2.68}, {30,'c',9.9} }; s2[0].ch='d'; for(int i=0;i<3;i++){ NSLog(@"%d,%c,%lg ",s2[i].i,s2[i].ch,s2[i].d); }
3 字符对其
3.1.找到结构体中占内存最大的的成员
3.2.以该成员所占的字节数为单位,为每个成员分配空间
3.3.从第二个成员开始,将待分配的字节编号除以该成员所占的字节数,如果余数为0,则进行分配。否则空出该字节用下一个分配。
4 结构体作函数形
4.1值传递 (不建议使用)
4.2 地址传递 (一般都使用地址传递)
typedef struct{ char name[100]; BOOL gender; int age;}Person;void setPerson(Person* p,char* name,BOOL gender,int age){ strcpy(p->name,name); p->gender=gender; p->age=age;}int main(){ @autoreleasepool { Person per; setPerson(&per, "jom", YES, 18); print(&per); }}
0 0
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体
- 结构体,,,,
- 结构体
- 结构体
- 【Android】Android缩放图片大小,保存图片
- leetcode_c++:树:Maximum Depth of Binary Tree(104)
- ButterKnife 8.3.0 不生效问题
- 神州顺利办发的红包真的好使吗?
- FreeBSD下vsftpd配置
- 结构体
- 如何绘制caffe训练过程中的loss和accurary的曲线??
- Linux防火墙
- c语言:读取文件中的指定内容
- 基于vueJs框架的翻页组件
- android通过设置ctl.start=bootanim无法启动开机画面的问题
- 闭包概念
- CSDN编辑器编辑了半天,发表博客,都特么没了,没心情了,先贴两个链接
- JS 语言数组中 API 和 用法