3.13
1.Linux虛擬地址空間
4G內存:1G內核空間和3G用戶空間;
用戶空間:數據段:? 全局數據 static靜態區
? ? ? ? ? ? ? ? 代碼段 :? 代碼,常量
? ? ? ? ? ? ? ? ?棧:? ? ? ? ?局部變量,形參
? ? ? ? ? ? ? ? ?堆:? ? ? ? ?malloc分配地址,realloc調整內存地址,free釋放內存地址;每個區間的四個屬性:r 只讀,w修改,x 可執行,p/s 是否共享內存。free和malloc配套使用
2.通常用if(p!=NULL)進行放錯處理或者初始化指針來避免野指針。
3.出現段錯誤時可以用gdb逐步查找段錯誤
4.終止宏定義的作用域可以使用#undef命令
5.文件包含:使用尖括號表示在包含文件目錄中去查找,不在源文件目錄去查找;使用雙引號表示首先在當前的源文件目錄中查找,未找到時才到包含目錄中去查找
6.條件編譯:
一種形式:
#ifdef 標識符
? ? ?程序段1
#else
? ? ?程序段2
#endif
7.##是連接符,將兩個Token連接為一個Token
8.結構體命別名
typedef struct [student]
{
? ? ? ?char name[10];
? ? ? ? char sex;
? ? ? ? int age;
? ? ? ? ?float score;
}STU
4G內存:1G內核空間和3G用戶空間;
用戶空間:數據段:? 全局數據 static靜態區
? ? ? ? ? ? ? ? 代碼段 :? 代碼,常量
? ? ? ? ? ? ? ? ?棧:? ? ? ? ?局部變量,形參
? ? ? ? ? ? ? ? ?堆:? ? ? ? ?malloc分配地址,realloc調整內存地址,free釋放內存地址;每個區間的四個屬性:r 只讀,w修改,x 可執行,p/s 是否共享內存。free和malloc配套使用
2.通常用if(p!=NULL)進行放錯處理或者初始化指針來避免野指針。
3.出現段錯誤時可以用gdb逐步查找段錯誤
4.終止宏定義的作用域可以使用#undef命令
5.文件包含:使用尖括號表示在包含文件目錄中去查找,不在源文件目錄去查找;使用雙引號表示首先在當前的源文件目錄中查找,未找到時才到包含目錄中去查找
6.條件編譯:
一種形式:
#ifdef 標識符
? ? ?程序段1
#else
? ? ?程序段2
#endif
7.##是連接符,將兩個Token連接為一個Token
8.結構體命別名
typedef struct [student]
{
? ? ? ?char name[10];
? ? ? ? char sex;
? ? ? ? int age;
? ? ? ? ?float score;
}STU
總結
- 上一篇: 淘宝网商品SKU系统设计经验分享
- 下一篇: 单纯形法笔记