某公司筆試題:
1.int *px = new int;
long *py = new long[32];
分別寫出指標px和py的記憶體釋放語句:
delete px;
delete py;
2.在4位元組對齊的情況下:
struct a
long lnum; //4byte
char *pcname; //4byte
short int data; // 2byte
char ucstr; // 1byte
short data[5]; //12byte
}*p;
p = 0x1000000;
求:p + 0x200; (long *)p + 0x200; (char *)p + 0x200。
指標和乙個整數運算,表示指標按照相應型別格式偏移,首先p+0x200就是按照結構體型別偏移0x200個位元組,後面的強制型別轉換,則是按照強制型別格式偏移0x200位元組。
3.定義乙個無符號短整型:unsigned short a = 0x1234,如何實現變數a的高低8位調換,即b = 0x3412。
很明顯要通過位運算來實現:
unsigned short b = a<<8 | a>>8;
面試題(待補充)
作用域和生命週期問題 作用域 生命週期 存放位置 區域性 從定義處開始到函式結束 函式開始到函式結束 棧空間 塊 從定義處開始到塊結束 函式開始到函式結束 棧空間 全域性 工程的任何地方 程式模組載入到解除安裝 資料區 靜態全域性 工程的任何地方 程式模組載入到解除安裝 資料區 析構函式必須是虛函式...
指標 待補充
將位址視為指定的量,將值視為派生量。指標 一種特殊型別的變數 用於儲存值的位址。指標名表示的是位址,運算子被稱為間接值或解除引用運算子,將其應用於指標,可以得到該位址處儲存的值。例,假設manly是乙個指標,manly表示的是乙個位址,manly表示儲存在該位址處的值。宣告和初始化 運算子兩遍的空格...
dinic 模板 待補充
include using namespace std define mk make pair define pus push back define mo 1005 vector d mo vector de mo int tag mo int dfs int node,int low,int n...