從某道C面試題開始

2021-06-22 22:48:39 字數 398 閱讀 5423

unsigned long res = 0;

unsigned long array = ;

char *p = (char *)&array[0];

p += 2;

res = *(unsigned long* )p; //求res的十六進製制值

其實,這道題是要分cpu模式來解答的,分析如下……

而p又從首位址向前移動兩個字元位(即兩個8bits),long是4bytes(32bits)的型別,

因為是小端cpu模式,還需要將記憶體儲存狀況轉換回來,即:res = 0x07080102

大端cpu模式(低位位址存高位資料):

res的記憶體情況:

大端模式下,無需轉換,即:res = 0x03040506

某C 面試題

void getmemory char p void test void 請問執行test函式會有什麼樣的結果?答 程式崩潰。因為getmemory並不能傳遞動態記憶體,test函式中的str一直都是null。strcpy str,helloworld 將使程式崩潰。char getmemory v...

從兩道面試題說起

一提到block大家肯定都知道要說的是迴圈引用。在arc中,如果兩個物件相互持有對方,就會造成迴圈引用,導致記憶體無法釋放。在block中,最常用的場景則是,self持有block,block中又持有了self。例如下方一段 property nonatmaic,copy block datacha...

某度面試題

用過哪些js模板 單頁面應用 怎麼做快取 css,中間固定,兩邊自適應 1.後台給資料,你是怎麼處理的 2.互動遇到過什麼情況 3.複雜的互動你是怎麼考慮的 4.生成10個a,並給onclick事件 5.10w個資料,顯示到頁面,怎麼考慮 6.跨站網域名稱偽裝,xss onsubmit和submit...