pragma mark C語(yǔ)言 知識(shí)點(diǎn)回顧
/**
回顧C(jī)語(yǔ)言學(xué)習(xí)的東西
Mac系統(tǒng)及常用工具
1. 數(shù)據(jù)類型 int、double、float、long、char
2. 常量、變量 int 10; int a = 10;
3. 運(yùn)算符 +、-、*、/、= 、!= 、== 、>= 、<=
4. 分支結(jié)構(gòu) if else
5. 循環(huán)結(jié)構(gòu) while、do while、for
6. 函數(shù) void test(){}
7. 進(jìn)制 二進(jìn)制:0b010 八進(jìn)制:011 十進(jìn)制:12 十六進(jìn)制:0x15
8. 一維/多維數(shù)組 一個(gè)班5個(gè)人 int class[5] 一個(gè)班有5個(gè)人,每個(gè)人的名字有3個(gè)字 int class[5][3]
9. 指針 int num = 10; int *p = # *p = 15; // 間接修改num
10.結(jié)構(gòu)體 一個(gè)事物有多個(gè)屬性 人:年齡、身高、姓名
struct Person
{
int age; // 年齡
float height; // 身高
char *name // 姓名
};
11.枚舉 一個(gè)類型有多個(gè)值 性別
enum Gender
{
kGenderMale, // 男 // 默認(rèn)值 0
kGenderFemale // 女 // 默認(rèn)值 1
};
12.預(yù)處理指令 文件編譯成0跟1之前的時(shí)候 做的處理。 好處:節(jié)約APP的大小 會(huì)過濾掉一些沒有用的代碼 (一般跟宏結(jié)合使用)
#pragma mark - 調(diào)試和發(fā)布階段 Log start
#define DEBUG 1 // 0是調(diào)試階段 1是發(fā)布階段
// format 是一個(gè)關(guān)鍵字 ...輸入0個(gè)或者多個(gè)東西
// define 是一個(gè)宏僅僅做替換 把YHLog(format,...) 替換了printf(format,## __VA_ARGS__)
// 本質(zhì)上 還使用printf來輸出內(nèi)容的,只不過是系統(tǒng)幫我們做了一個(gè)替換
// 把DEBUG 改成 1 說明 else這個(gè)語(yǔ)句里面沒有值 所以替換成空白
#if DEBUG == 0
// 調(diào)試階段
#define YHLog(format,...) printf(format,## __VA_ARGS__)
#else
#define YHLog(format,...)
#endif
#pragma mark 調(diào)試和發(fā)布階段 Log end
實(shí)際使用
#if DEBUG == 0
char *name = "lyh";
char *pwd = "123456";
#else
char *name = NULL;
char *pwd = NULL;
#endif
13.文件操作
*/
pragma mark OC簡(jiǎn)介
pragma mark 概念
pragma mark OC 學(xué)習(xí)流程
/**
OC 是一門面向?qū)ο蟮恼Z(yǔ)言
C 是一門面向過程的語(yǔ)言
*/
OC學(xué)習(xí)流程
/**
學(xué)習(xí)流程:
1. 面向?qū)ο蟾拍? 2. @propety 與 @synthesize
3. 類方法 與 實(shí)例方法
4. self關(guān)鍵字
5. 封裝、繼承、多態(tài)
6. 構(gòu)造方法、工廠方法
7. 點(diǎn)語(yǔ)法、@selector
8. category(分類)
9. protocol(代理)
10. copy
11. block(代碼塊、回調(diào))
12. autoreleasepool(自動(dòng)釋放池)
13. Foundation(框架)
14. 常用結(jié)構(gòu)體
15. KVC、KVO(鍵值對(duì))
*/
pragma mark 代碼
/**
* main是函數(shù)的名稱,是系統(tǒng)規(guī)定的名稱,系統(tǒng)啟動(dòng)程序就會(huì)調(diào)用名稱叫做main的函數(shù)
*
* @param argc 就是系統(tǒng)傳遞進(jìn)來的參數(shù)個(gè)數(shù) , 默認(rèn)是1
* @param argv 就是系統(tǒng)傳遞進(jìn)來的參數(shù)實(shí)際的值, 默認(rèn)是程序的名稱
*
* @return
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
printf("%i\n",argc);
printf("%s\n",argv[0]);
return 0;
}