標籤:
老師:王保明
1.介面封裝和設計思想引導及初步實踐
API封裝設計:
記憶體四區圖:
四區簡介:
在編寫標頭檔時:
// 避免在.c裡面 重複包含多次標頭檔
#ifndef _CLT_SOCKET2_H__
#define _CLT_SOCKET2_H__
... ... //第二遍不被定義
#endif
如下面:
#include "cltsocket.h"
#include "cltsocket.h"
#include "cltsocket.h"
並不會出錯。
告誡:
1.對項目/代碼作空間管理,進行編號,便於管理、查看。
2.作為開發人員,檔案查看方式用詳細方式,便於快速尋找。
C/C++學習特點:
Java 學習、應用、做項目
C 學習、理解、應用、做項目
2.排序熱身及數組做函數參數退化為指標引申
冒泡排序核心代碼:
1 printfArray3(a); 2 3 for(i=0; i<10; i++) 4 { 5 for (j=i+1;j<10; j++) 6 { 7 if (a[i] < a[j]) 8 { 9 tmp = a[i]; 10 a[i] = a[j]; 11 a[j] = tmp;12 }13 }14 }
結論
//1數組做函數參數,會退化為指標
//2在形參裡面出現的char buf[30],int a[10] ,c/c++編譯器會把它當做指標,也不會主動的分配記憶體,c、c++編譯器會自動最佳化:退化為指標
// int i = 0;
int num1 = sizeof(a); //形參為a[10]:sizeof(a) == sizeof(int *) 相當於指標,只有4個位元組
int num2 = sizeof(*a);
int num = sizeof(a)/sizeof(*a); //num = 1,而不是數組的長度
int num1 = sizeof(a); //資料類型不一樣
//3 sizeof(a)大小不一樣的實質是a的資料類型不一樣,原因是數組做函數參數會退化為指標
VS備忘:
shift+del 刪除一行
Ctlr+u 讓單詞從小寫變大寫
Shift+ctrl+u 從大小變小寫
傳智播客C/C++ —— 筆記一