半路出家, 我的iOS自学之路-1-C语言

半路出家, 我的iOS自学之路-1-C语言

  • 我是一只绝望的菜鸟, 只学过Java, 半路出家, 自学iOS.
  • 以下是我读完《Objective - C 编程》(第2版)的读书笔记
  • 博客中出现任何差错, 遗漏, 还请您在评论中告诉我
  • 群号:653592167, 欢迎自学iOS的人加入, 一起交流, 共同成长

插一句: Objective-C是C语言的母集合.

意思就是说C语言的各种用法都可以在OC的编辑器里使用. 当时我不知道”母集合”是什么意思, 查了之后也一知半解的, 于是我在学iOS之前又花了一个多月的时间读完了一本C语言的书.
这里就列举一些C语言里的一些规范吧,或者说是概念.

C语言里面的一些规则

.h文件

也叫"头文件", 是声明 全局变量/静态变量/函数声明 的地方. 这些元素被定义在"头文件"里, 其他的文件"#include"了这个"头文件"之后, 
就能使用这个"头文件"里的元素了.

比如: 定义了一个 A.h 的文件, 我在 B.h 或者 B.c 里 #include “A.h”, 我就能在 B.c 里调用 A.h 里的 枚举, 变量, 函数.

.c文件

也叫"源文件", 是定义 全局变量/静态变量/函数声明, 使用变量, 实现函数代码, 使用函数 的地方.

补充:

  • 在 头文件 里声明 全局变量 的时候, 需要用 “extern”, 然后在对应的 源文件 里对它进行赋值, 比如
// 头文件
A.h
extern int a; // 声明变量

// 源文件
A.c
int a = 10; // 定义变量
  • 一个 “头文件” 对应 “唯一” 一个 “源文件”, 也就是一个 A.h 只有一个 A.c. 这就是规矩. 至于为什么, 就只有去看另一篇博客, 讲 编译器 Makefile, Makefile经典教程(掌握这些足够) .

结构体 / 枚举

  • struct 结构体
    1. struct OBJC {
      int a;
      char *str;
      }; // 定义个结构类型
    2. struct OBJC st; // 定义一个 “struct OBJC” 类型的 结构体变量, 变量名叫 st
    3. typedef struct OBJC CNObj; // 定义了一个 “struct OBJC” 类型的别名, 叫 CNObjc;
    4. CNObjc cnSt; // 定义了 一个 CNObjc 类型(又名”struct OBJC”)的变量, 变量名叫 cnSt
    5. CNObjc *pcnSt = &cnSt; // 定义了一个 结构体指针 类型的变量, 变量名叫 pcnSt
    6. 使用 结构体 的 成员变量
      • cnSt.a = 10; // 变量通过”点”来获得 成员变量
      • pcnSt->a = 20; // 指针变量通过”->”来获得 成员变量
  • enum 枚举
    1. enum emA {
      CONST_AA, // 默认赋值0, 后面的 常量的值 依次自动 递增
      CONST_BB, // 1
      CONST_CC // 2
      } // 枚举, 枚举类型 enum emA, 里面的成员都是 常量.
    2. enum emB {
      // CONST_A = 13, // 手动设置初始值, 后面的 常量的值 依次自动 递增
      CONST_B, // 14
      CONST_C // 15
      }
    3. CONST_A // 可以直接使用
    4. 枚举中的 常量 不能重复定义

以上就是我在 OC 里经常会看到的, 接触到的 C语言 的一些知识.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值