面試真題之旅(一)

2021-08-15 10:28:03 字數 1397 閱讀 5855

#include #include #include void getmemory(char* p) 

int main()

c語言引數傳遞

c語言函式的引數傳遞採用按值傳遞。

對於此題來講,在main函式中宣告了乙個char*型別的變數str,假設其變數位址為a,變數的值為ptr_a。

將str傳入函式getmemory中,則編譯器會建立乙個臨時變數p,其位址為b(位址與a不同),其值為ptr_b(值與ptr_a相同)。

呼叫malloc函式後會申請一段連續的記憶體空間並將其頭指標返回,此時p的位址仍然為b,但值ptr_b已經被賦予了新的值,與ptr_a不同了。

getmemory函式返回之後,變數str的值仍然為ptr_a,此時並沒有分配到任何記憶體,所以呼叫strcpy函式時會出錯。

陣列與指標關係

由輸出結果可以看出,該二維陣列a佔24個位元組,變數a大小為4位元組。

變數a的值是乙個陣列的首位址,該陣列的變數大小為12位元組,也即指標a+1後變數值+12。

變數*a的值是乙個陣列的首位址,該陣列變數大小為4位元組,也即指標(*a)+1後變數值+4。

面試真題 一

開始彙總面試碰到的 題,為保密起見,不透露公司名字,但會把所有的程式設計題都記錄下來,每一篇代表一家公司,我會盡量整理得快一點。60分鐘,10道單選 5道不定項選擇 若干道填空 2道改錯 1道程式設計。1 給定乙個鍊錶,返回鍊錶逆置後的結果。思路 簡單的鍊錶逆置題,我一開始以為是逆序輸出鍊錶的值,想...

python面試真題整理 (一)

day2 day3 day4 day5 day1 python中is和 的區別 在python中,乙個物件有三個要素,value,id和type。主要判斷的是兩個物件的value是否相同,is 也叫同一性運算子,會判斷兩者的id是否相同。簡述read readline和readlines的區別 re...

Java面試真題

1.簡述抽象類和抽象方法的作用 分析 抽象類主要用來提供多個派生類可共享的基類的公共定義,他與非抽象類的主要區別如下 1 抽象類只能作為其他類的基類,不能直接例項化,對抽象類不能使用new操作符 2 抽象類中可以包含抽象成員,但非抽相類不可以 3 如果乙個非抽象類從抽象類中派生,則其必須通過覆蓋來實...