C語言面試題五 Intel篇

2021-04-06 21:48:02 字數 655 閱讀 2339

intel:

a.c 和b.c兩個c檔案中使用了兩個相同名字的static變數,編譯的時候會不會有問題?這兩個static變數會儲存到**(棧還是堆或者其他的)?

static的全域性變數,表明這個變數僅在本模組中有意義,不會影響其他模組。

他們都放在資料區,但是編譯器對他們的命名是不同的。

如果要使變數在其他模組也有意義的話,需要使用extern關鍵字。

struct s1

;struct s2

;printf("sizeof(s1)= %d/n", sizeof(s1));

printf("sizeof(s2)= %d/n", sizeof(s2));

result: 16, 24

第乙個struct s1

;理論上是這樣的,首先是i在相對0的位置,佔8位乙個位元組,然後,j就在相對乙個位元組的位置,由於乙個位置的位元組數是4位的倍數,因此不用對齊,就放在那裡了,然後是a,要在3位的倍數關係的位置上,因此要移一位,在15位的位置上放下,目前總共是18位,折算過來是2位元組2位的樣子,由於double是8位元組的,因此要在相對0要是8個位元組的位置上放下,因此從18位開始到8個位元組之間的位置被忽略,直接放在8位元組的位置了,因此,總共是16位元組。

第二個最後會對照是不是結構體內最大資料的倍數,不是的話,會補成是最大資料的倍數

C語言面試題高階篇

1.判斷單鏈表是否帶環?若帶環,求環的長度?求環的入口點?首先判斷是否帶環,在這裡用快慢指標,快指標每次走兩步,慢指標每次只走一步,無環的快指標會先走到頭,如果快指標等於慢指標那麼說名單鍊錶存在環,會返回 相遇點,如果無環會返回 空指標。為什麼乙個走兩步乙個走一步就可以呢,因為fast比slow走的...

C語言面試題 指標篇(一)

指標的使用,一直是c語言面試題中必考的部分,因為指標本身使用的複雜性與普適性,所以考點非常多,而且也可以與其他知識相互結合,因此我們將會使用五篇專題的篇幅來介紹指標。分析下面的程式,指出程式中的錯誤 include int main void 沒有正確為str分配記憶體空間,將會發生異常。問題出在將...

C語言面試題 指標篇(二)

閱讀下面的程式,找出其中的錯誤,並說明原因。include int main 答案 該程式會段錯誤,因為程式中僅僅只定義 乙個字元指標,並沒有定義字元 只是將字元指標指向 abcd 這個字元 常 而字元 常 abcd 的儲存位置是在 記憶體的資料段 或靜態儲存區 中的,儲存在這個位置的值,是 允許修...