目录
IOS 开发:c、swift、object-c
第一节 终端生成.c 文件
第二节 常见的数据类型
第三节 运算符、scanf
第四节:如何产生随机数
第五节:while 循环
第六节:goto
第七节:函数
第八节:注释插件
第九节:文档注释快捷键
第十节:预处理指令
第十一节:进制
第十二节:原码,补码,反码
第十二节:位运算 &、|、!、^
第十三节:<<,>>
第十四节:int 修饰符
第十五节:char 类型存储
第十六节:垃圾值的由来
第十七节:数组
第十八节:二维数组
第十九节:字符串
常用地函数:
第二十节:指针变量
作为形参传递
第二十一节:索引的本质
第二十二节:指针相减
第二十三节:指针与字符串
第二十四节:fput、fget
第二十五节:const 关键字
第二十六节:malloc
第二十七节:指针当做参数、返回值
第二十八节:函数指针
第二十九节:Struct
结构体初始化:
结构体数组:
指针访问成员变量:
如果要返回结构体地址:
第三十节:枚举
第三十一节:类型定义typedef
typedef 声明结构体
typedef 声明枚举
第三十二节预处理指令
第三十三节:宏定义
与typedef的区别
宏名带参数
第三十四节:条件编译指令
与if 的区别
第三十五节:Static 与 extern
IOS 开发:c、swift、object-c
第一节 终端生成.c 文件
第三节 运算符、scanf
第4节
第四节:如何产生随机数
第五节:while 循环
第六节:goto
第七节:函数
第八节:注释插件
第九节:文档注释快捷键
option+command+/
第十节:预处理指令
第十一节:进制
比如023表示八进制数,0是可选的
第十二节:变量所占内存
常量就是整形,比如:’a‘=97
第十二节:原码,补码,反码
第十二节:位运算 &、|、!、^
都是补码进行运算
第十三节:<<,>>
右移:左边空出的位,用最左边的数补齐,比如1100,右移1位,表示1110
第十四节:int 修饰符
第十五节:char 类型存储
第十六节:垃圾值的由来
第十七节:数组
第十八节:二维数组
第十九节:字符串
常用地函数:
第二十节:指针变量
作为形参传递
类似于ref,实现多个返回值效果
第二十一节:索引的本质
第二十二节:指针相减
第二十三节:指针与字符串
char* 存到常量区,类似于const,所以不能更改
第二十四节:fput、fget
f表示 file
第二十五节:const 关键字
第二十六节:malloc
主要的区别在于初始化内存的方式:malloc 分配的内存块中的值是不确定的,
calloc 分配的内存块中的每个字节都被初始化为 0。
申请失败了返回null
第二十七节:指针当做参数、返回值
第二十八节:函数指针
第二十九节:Struct
结构体初始化:
结构体数组:
指针访问成员变量:
如果要返回结构体地址:
创建到堆区
第三十节:枚举
第三十一节:类型定义typedef
typedef 声明结构体
typedef 声明枚举
第三十二节预处理指令
第三十三节:宏定义
与typedef的区别
宏名带参数
本色传递,因为预编译的时候,变量还没有值,所以只能传递变量名
第三十四节:条件编译指令
与if 的区别
在头文件中,防止一个头文件被多次导入
第三十五节:Static 与 extern
1. 延长变量的生命周期:通常,局部变量在函数执行完毕后会被销毁,但是使用static修饰的局部变量在函数执行完毕后仍然存在,直到程序结束。这意味着该变量的值在函数调用之间保持不变。
2. 保护变量的访问权限:使用static修饰的局部变量只能在定义它的函数内部访问,其他函数无法直接访问该变量。这样可以避免变量被意外修改或者访问,提高程序的安全性。
3. 实现静态计数器:使用static修饰的局部变量可以用来实现静态计数器。例如,每次调用函数时,该变量的值会自增并保留在下一次函数调用中。