ios开发-c语言之其他数据类型的学
来源:互联网 发布:最近淘宝网怎么了 编辑:程序博客网 时间:2024/06/05 00:12
今天,我们来学习其他数据类型,共计4中:枚举,预处理指令,文件包含,typedef.
一,枚举:
枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。
格式:
1).一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……};
enum Season {spring, summer, autumn, winter};
2)同时定义枚举变量:
enum Season {spring, summer, autumn, winter} s;
3).省略枚举名称,直接定义变量:
enum {spring, summer, autumn, winter} s;
4).赋值:
可以给枚举变量赋枚举常量或者整型值
enum Season {spring, summer, autumn, winter} s;
s= spring;// 等价于 s = 0;
s=3;// 等价于 s = winter;
二.预处理指令:指的是在编译之前先将指令运算,选择性的编译码段,C语言提供的预处理指令主要有:宏定义、文件包含、条件编译.
1).宏定义:一般形式
#define 宏名 字符串
比如#define ABC 10
右边的字符串也可以省略,比如#define ABC
作用:它的作用是在编译预处理时,将源程序中所有"宏名"替换成右边的"字符串",常用来定义常量。
2).条件编译:在很多情况下,我们希望程序的其中一部分代码只有在满足一定条件时才进行编译,否则不参与编译(只有参与编译的代码最终才能被执行),这就是条件编译。
#if 条件1
...code1...
#elif 条件2
...code2...
#else
...code3...
#endif
1> 如果条件1成立,那么编译器就会把#if 与#elif之间的code1代码编译进去(注意:是编译进去,不是执行,很平时用的if-else是不一样的)
2> 如果条件1不成立、条件2成立,那么编译器就会把#elif 与 #else之间的code2代码编译进去
3> 如果条件1、2都不成立,那么编译器就会把#else 与#endif之间的code3编译进去
4> 注意,条件编译结束后,要在最后面加一个#endif,不然后果很严重(自己思考一下后果)
5> #if 和#elif后面的条件一般是判断宏定义而不是判断变量,因为条件编译是在编译之前做的判断,宏定义也是编译之前定义的,而变量是在运行时才产生的、才有使用的意义.
3).文件包含:其实我们早就有接触文件包含这个指令了, 就是#include,它可以将一个文件的全部内容拷贝另一个文件中。
1.第1种形式#include <文件名>
直接到C语言库函数头文件所在的目录中寻找文件
2.第2种形式 #include "文件名"
系统会先在源程序当前目录下寻找,若找不到,再到操作系统的path路径中查找,最后才到C语言库函数头文件所在目录中查找
4)typedef:
我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)
例如:typedefint Integer,将int定义为新的名字Integer,定义变量的时候可以是Integer a = 0;
总结:
这些其他数据类型要求掌握,尤其是结构体,在以后OC中的学习还会用到.
- ios开发-c语言之其他数据类型的学
- 黑马程序员——IOS基础---C语言学习之复杂数据类型之其他数据类型
- 黑马程序员-IOS-C语言基础-其他数据类型及总结
- 黑马程序员-IOS-C语言基础-其他数据类型及总结
- IOS开发---C语言-①数据类型
- IOS成长中 C语言之数据类型
- ios开发-c语言之C语言函数的学习
- [零基础学软件开发5]c语言数据类型初探
- iOS开发入门教程之Objective-C · 常用的数据类型
- IOS征途之c语言-C语言数据类型
- IOS开发时间格式转换之──C语言中time_t数据类型转为NSString类型
- 黑马程序员-IOS开发之--C语言基础一数据类型,常量,变量
- 黑马程序员-IOS开发之--C语言基础-复杂数据类型等
- 黑马程序员——ios开发基础之C语言数据类型、运算符与输入输出
- C语言基础——其他数据类型
- C语言day02-变量、数据类型、赋值、其他
- C语言之数据类型
- C语言之数据类型
- make[1]: *** [menuconfig] Error 1
- 练习1- 按钮的操作
- 个人笔记-JDOM读取XML
- hdu 4.1.2 Strange fuction
- iOS开发UI篇—CAlayer(创建图层)
- ios开发-c语言之其他数据类型的学
- [Android分享] ViewPager的setOnPageChangeListener方法详解
- hibernate 之 getCurrentSession() 详解
- 编码问题详解
- 排序算法和设计模式
- vim搜索设置高亮
- HDU 1896 Stones
- 黑马程序员————C语言指针
- 如何在CentOS 6上通过YUM安装Nginx和PHP-FPM