iOS开发学习之C语言---C06 结构体-1
来源:互联网 发布:空浪 知乎 编辑:程序博客网 时间:2024/06/05 14:12
//
// main.m
// C06 结构体-1
//
// Created by 康亮亮 on 15/10/14.
// Copyright (c) 2015年 Darling.com. All rights reserved.
//
#import <Foundation/Foundation.h>
// 声明
// 声明一个结构体类型:由两个整型类型组成,一个叫x表示x轴坐标,另一个叫y,表示y轴坐标。
struct zuoBiao {
// 成员变量
int x;// 第一个成员变量,变量的类型是整形,变量的名字是x
int y;// 第二个成员变量,变量的类型是整形,变量的名字是y
};
#pragma mark 匿名结构体
// 匿名结构体:没有名字的结构体。在“结构体名”的位置,只有一个空格
struct {
float a;
float b;
} //坑:不能有分号!
// 因为匿名结构体没有结构体名,所以在main函数或其他自定义函数中无法获取到这种类型的结构体,如果要使用,必须在声明完成后马上创建出这种类型的变量
noName = {12.34,23.45}, //
noName2 = {23.34,45.34};
// 声明一个结构体类型,名字叫:student,成员变量有:name,age,gender
struct student {
char name[20];
int age;
char gender;
};
#pragma mark typedef类型定义
// 一般我们可以使用typedef将较长的结构体类型修饰符,替换为另一个名字 typedef <#existing#> <#new#>;
typedef struct student student;
// typedef的另一种用法:在声明结构体类型的同时,找一个新名字来代替
typedef struct teacher{
char name[20];
int age;
} Teacher; // 建议使用一种作为自己风格
int main(int argc,const char * argv[]) {
#pragma mark 结构体声明
// 什么是结构体?
/*
* 1、结构体是一种构造类型,由其他基本数据类型组合成的一种新类型。与数组的区别是:构成结构体的基本数据类型可以不相同,数组必须是同类型的数据构成。
* 2、结构体必须先声明,声明这个结构体由哪些数据类型构成的,相当于基本数据类型的“int\char\double”之类的类型说明。
声明完成后,就在文件中创造出了这种新的数据类型,就可以使用这种新类型定义变量来保存数据了。
*/
#pragma mark 定义结构体类型的变量
/*
// 定义 一个“zuoBiao”类型的结构体变量。
// struct zuoBiao,使用struct关键字+结构体名(面试这么说),共同组成了变量的类型修饰符.
// 结构体变量赋值方法和数组赋值方法一样,用"{}"将成员变量的值包裹起来,使用","分隔开各个值。
struct zuoBiao point1 = {12,34}; // 其实是使用struct关键字+结构体类型名+结构体名
// 访问 结构体变量的值: point1.x 。 使用 结构体变量名 + '.' + "成员变量名"的方式访问
int b = point1.x;
int c = point1.y;
printf("b = %d , point1.x = %d\n", b, point1.x);
printf("c = %d , point1.y = %d\n", c, point1.y);
// 修改 point1的x为99,y为88:先访问到对应的成员变量,然后再修改值
point1.x = 99;
point1.y = 88;
printf("point1.x = %d, point1.y = %d\n", point1.x, point1.y);
struct zuoBiao point2 = {45, 56};
printf("point2.x = %d, point2.y = %d\n",point2.x, point2.y);
*/
/*
// 定义一个zuoBiao类型的结构体变量,point3,成员变量的值和point2一样
// 结构体变量之间可以整体赋值,但是数组不行!!!
struct zuoBiao point3 = point2; // 结构体变量之间可以整体赋值,但是数组不行!!!
printf("point3.x = %d, point3.y = %d\n",point3.x, point3.y);
// 输出匿名结构体变量的成员变量
printf("%f, %f\n", noName.a, noName.b);
printf("%f, %f\n", noName2.a, noName2.b);
*/
// 定义一个student结构体变量
struct student stu1 = {"laowang",23, 'm'};
// 打印stu1的年龄
printf("%d\n", stu1.age);
// 修改stu1的年龄
stu1.age =32;
printf("%d\n", stu1.age);
// 修改name为shuKui
//因为字符串在C语言中使用的是字符数组类型保存的,数组不能整体赋值,所以使用普通的修改成员变量方法在这里无效,需要使用字符串拷贝函数,达到修改的目的。
// stu1.name = "shuKui"; //不行
strcpy(stu1.name,"shuKui"); // 活学活用
printf("%s\n",stu1.name);
student stu2 = {"xiaoli",22, 'm'};
printf("%s\n", stu2.name);
return 0;
}
- iOS开发学习之C语言---C06 结构体-1
- iOS开发学习之C语言---C06 结构体-2
- ios开发-c语言之结构体的学习
- iOS开发学习之C语言---C03 循环结构
- ios开发之c语言基础-结构体
- ios开发之c语言基础-结构体经典题目
- 【学习ios之路:C语言】结构体应用
- iOS开发-Object-C学习之结构体使用
- IOS开发---C语言-⑮结构体
- iOS开发学习之C语言---C05 函数-1
- iOS开发学习之C语言---C07 指针-1
- iOS开发学习之C语言---C08 高级指针-1
- iOS开发学习之C语言---C10 函数指针-1
- ios开发-c语言之C语言函数的学习
- 【IOS 开发学习总结-OC-7.5】objective-c 的c语言特性——结构体
- iOS开发之c语言基础-分支结构
- ioS开发之c语言基础-循环结构
- C语言学习之结构体
- iOS开发学习之C语言---C05 函数-3
- 《金缕曲·十五年》
- 使用 Salt + Hash 将密码加密后再存储进数据库
- 回文链表
- 欢迎使用CSDN-markdown编辑器
- iOS开发学习之C语言---C06 结构体-1
- Kali Linux 安装完成后的网络配置
- Android提高篇之Adapter的抽象整合
- 九度OJ 1090:路径打印 (树、DFS)
- 划分数
- iOS开发学习之C语言---C06 结构体-2
- boost 之 format
- 从头认识java-2.3 自增自减与关系操作符
- HDU1040