iOS-C语言和OC部分

来源:互联网 发布:映射网络驱动器不成功 编辑:程序博客网 时间:2024/06/06 13:11

学习iOS-C语言和OC部分一些基础的知识(非常有用哈)

1 . 谢谢大家的观赏哈!~过几天还有OC更多相关细节 希望大家多关注一下!~
2.编译.m 文件步骤;


  • 先cc -c 文件名.m
  • 在cc 文件名.o
  • 最后./a.tou
  • 另一种方法:
  • cc -o 文件名.m
  • ./a,.out
  • 另一种方法:
  • gcc -o 文件名 文件名.m
  • ./文件名

3.static


定义静态变量 限制变量为文件变量;把变量设置为全局变量放在全局变量区


4.extern 变量名


声明一个外部变量;在其他地方已经定义过在此使用


5.全局变量声明已g开头比较好
6.官方网站学习OC


http//developer.apple.com/library/ios


7.touch


在vim 中修改文件操作的时间 当文件不存在时候创建文件


8.sours 强制重启iTerm
9.vim一些操作


cp -r 文件名字 +要复制的地方


10.编译相关


  • gcc -c 编译到汇编语言生成只剩下最后的链接 文件后缀.o
  • gcc -o编译加上链接直接能运行
  • gcc -E 预处理后停止
  • gcc -S 生成汇编语言
  • list 显示出代码
  • b(break) 加行号 设置断点
  • run 让程序运行到断点处
  • q(quit)退出调试
  • lldb +文件名 进入设置断点
  • n(next) 进入下一行 遇到函数调用不进入函数
  • step 进入下一行 遇到函数调用进入被调用的函数
  • continue 从一个断点运行到下一个断点

11 .数组作为函数参数是:


  • 可以省略参数个数;
  • 数组作为函数参数,传递的是整个数组的地址,修改函数形参数组元素值,会影响到外面实参数组的值
  • 数组当做函数参数传递时,会被当做指针变量使用,指针变量在64位编译器环境下,占据8个字节

12 .strcmp


比较两个字符串是否相等,相等返回值为0 不相等返回值为1


13 .strcpy


strcpy(char1,char2) 将字符串char2的值赋值给char1


14 . const相关


const int 变量名/int const 变量名,使该变量为只读的不能改变
如果变量为指针(int coust *变量名),则指针可以指向其他地址 但是指针所指的值不能修改 如果定义 int *coust 变量名 则指针不能乱指 但是值可以修改


15 .宏


  • 只是文本定义功能
  • 在编译时候看到宏 直接替换
  • 宏名随意定义 习惯用大写字符K开头
  • 对于宏参数 形参没有类型 如 #define MAX(a,b) a>b ? a:b
  • 宏定义后面可以跟任何东西 记住文本替换就行了 如 #define CHANG(x,y) printf(“长为”#x”宽为”#y”的长方形面积为:%d”,(x)*(y))

16 .关于while循环


  • 不知道要循环的次数的时候使用最佳 常常妙用死循环
  • 在某个范围内查找某个满足条件的值

17 .NSLog和ptintf的使用差异


  • NSLog 会自动换行而 printf不会自动换行
  • NSLog 会自动输出时间项目信息等 printf不会输出调试信息
  • NSLog 函数的参数是一个NSStiring 对象 而printf是一个字符串常量指针
  • NSLog 格式化输出问题 NSLog 不支持输出%s格式化输出输入 使用%@输入输出字符串 定义字符串用

19 .浮点数比较大小一般不直接比较大小 而是相减 看结果是否大于零
20 .#include<>和#include”“


的区别<>是直接去系统的头文件中找 ,而“”则是在当前调试文件中找 如果找不到的话回去系统的头文件中找


21 .pragma mark 对类进行分组 方便代码的导航和查找
22 .对象和方法的关系


  • 对象作为方法的参数
  • 对象作为方法的返回值

23 .rewind


指向文件的开始 fseek 指向文件某一位置 单位为字节


0 0
原创粉丝点击