1. 程式人生 > >面試之前必看之聯合、strcpy string

面試之前必看之聯合、strcpy string

9. 結構與聯合有和區別?
1. 結構和聯合都是由多個不同的資料型別成員組成, 但在任何同一時刻, 聯合中只存放了一個被選中的成員(所有成員共用一塊地址空間), 而結構的所有成員都存在(不同成員的存放地址不同)。
2. 對於聯合的不同成員賦值, 將會對其它成員重寫, 原來成員的值就不存在了, 而對於結構的不同成員賦值是互不影響的。

10. 下面關於“聯合”的題目的輸出?

a)

#i nclude <stdio.h>
union
{
int i;
char x[2];
}a;


void main()
{
a.x[0] = 10;
a.x[1] = 1;
printf("%d",a.i);
}
答案:266 (低位低地址,高位高地址,記憶體佔用情況是Ox010A)

b)

main()
{
union{
int i;
struct{
char first;
char second;
}half;
}number;
number.i=0x4241;
printf("%c%c\n", number.half.first, mumber.half.second);
number.half.first='a';
number.half.second='b';
printf("%x\n", number.i);
getch();
}
答案: AB (0x41對應'A',是低位;Ox42對應'B',是高位)

6261 (number.i和number.half共用一塊地址空間)

11. 已知strcpy的函式原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字串,strSrc 是源字串。不呼叫C++/C 的字串庫函式,請編寫函式 strcpy。


答案:
char *strcpy(char *strDest, const char *strSrc)
{
if ( strDest == NULL || strSrc == NULL)
return NULL ;
if ( strDest == strSrc)
return strDest ;
char *tempptr = strDest ;

相關推薦

面試之前聯合strcpy string

9. 結構與聯合有和區別?1. 結構和聯合都是由多個不同的資料型別成員組成, 但在任何同一時刻, 聯合中只存放了一個被選中的成員(所有成員共用一塊地址空間), 而結構的所有成員都存在(不同成員的存放地址不同)。2. 對於聯合的不同成員賦值, 將會對其它成員重寫, 原來成員的值就不存在了, 而對於結構的不同成員

轉-面試:Redis 和 Memcached 的區別

Redis 的作者 Salvatore Sanfilippo 曾經對這兩種基於記憶體的資料儲存系統進行過比較: Redis支援伺服器端的資料操作:Redis相比Memcached來說,擁有更多的資料結構和並支援更豐富的資料操作,通常在Memcached裡,你需要將資

轉-面試:Redis 和 Memcached 和mongodb的區別

Redis是一個開源(BSD許可),記憶體儲存的資料結構伺服器,可用作資料庫,快取記憶體和訊息佇列代理。  Memcached是一個自由開源的,高效能,分散式記憶體物件快取系統。  MongoDB是一個基於分散式檔案儲存的資料庫,文件型的非關係型資料庫,與上面兩者不同。1.效

初學者:VC++Win32 SDKMFC的區別

 這是一個初進行開發人員都可能遇到過的概念不清的問題,自己當年也同樣有過誤解,做技術我感覺一定要專,但是,不代表毫不關心相關的知識,至少概念層次上要知道,所以,這裡還是再把這些內容紀錄下來,好記性不如爛筆頭:    C/C++都是一種程式語言,程式設計師用它來創作(我喜歡用創作這個詞,讓寫程式碼有一些藝

職業程式設計師文章

每個人的動機不一樣。大致有: 1、為了找個好工作;或為了有更好的機會和更好的發展。 2、看到別人超厲害,所以也想學。 3、實際工作中很多場合需要。 4、從小就立志做個程式設計師,做軟體工程師。

經常被掛馬的朋友安全思維

一、掛馬前的安全措失 A、改更預設管理目錄dede。 B、檢查install目錄裡是否存在install.lock檔案。有使用者沒給install目錄寫許可權導致安裝的時候沒有生成lock檔案。安裝完成後可整個刪除intstall目錄。C、關注後臺更新通知,檢查是否打上最

【Python面試系列】怎麼移除一個字串中的前導空格?

Q 20. 怎麼移除一個字串中的前導空格? 字串中的前導空格就是出現在字串中第一個非空格字元前的空格。我們使用方法 Istrip() 可以將它從字串中移除。 >>> ' Ayushi '.lstrip() 結果: ‘Ayushi ‘ 可以看到

【Python面試系列】Python 區分大小寫嗎?

Q 18. Python 區分大小寫嗎? 如果能區分像 myname 和 Myname 這樣的識別符號,那麼它就是區分大小寫的。也就是說它很在乎大寫和小寫。我們可以用 Python 試一試: >>> myname="hupo" >>> Myna

【Python面試系列】解釋 Python 中的 join() 和 split() 函式

Q 17. 解釋 Python 中的 join() 和 split() 函式 Join()能讓我們將指定字元新增至字串中。 >>> ','.join('12345') 輸出: ‘1,2,3,4,5’ Split() 能讓我們用指定字元分割字串。

【Python面試系列】如何以就地操作方式打亂一個列表的元素

Q 16. 如何以就地操作方式打亂一個列表的元素? 為了達到這個目的,我們從 random 模組中匯入 shuffle() 函式。 >>> from random import shuffle >>> mylist=[x for x in ra

【Python面試系列】什麼是負索引

Q 15. 什麼是負索引? 先建立一個列表: lis=[1,2,3,4,5] 使用正索引取出列表中的第一個數: lis[0] 輸出: 1 負索引和正索引不同,它是從右邊開始檢索。例如:使用負索引取出列表的最後一個數 lis[-1] 輸出: 5

【Python面試系列】計算一個檔案中的大寫字母數量

Q 14. 請寫一個 Python 邏輯,計算一個檔案中的大寫字母數量 首先在程式所在資料夾下面新建一個test.txt檔案,裡面寫入一些大小寫字母,然後執行下面的程式即可: with open('test.txt') as test: count = 0 fo

【Python面試系列】請解釋使用 *args 和 **kwargs 的含義

Q 13. 請解釋使用 *args 和 **kwargs 的含義 當不知道向函式傳遞多少引數時,比如我們向函式傳遞一個列表或元組,我們就使用 * args。 >>> def func(*args): for i in args: prin

【Python面試系列】Python 中的字典是什麼?

Q 12. Python 中的字典是什麼? 字典是 C++ 和 Java 等程式語言中所沒有的東西,它具有鍵值對。 >>> roots={25:5,16:4,9:3,4:2,1:1} >>> type(roots) <class 'dic

【Python面試系列】手撕程式碼

明天有個筆試,有可能會現場手撕程式碼,所以現在先提前準備幾個常見的程式設計題練練手 一、氣泡排序 lis=[1,8,0,5,6,3,7,4,2] temp=[] for i in range(0,len(lis)): for j in range(i+1,len(lis)

年後跳槽BAT:10種資料結構演算法和程式設計課助你面試通關

作者 | javinpaul 譯者 | 大魚 編輯 | 一一 出品 | AI 科技大本營 進入 BAT 這樣的巨頭企業工作,無疑是很多程式設計師的夢想。但事實上,能通過這些公司高難度程式設計面試的只是一小撮人,大多數人因為理論知識和專案實踐的匱乏

Java集合面試

目錄 Java中的集合 List和Set的區別 List:集合中的物件線性方式儲存,可以有重複物件,允許按照物件在集合中的索引位置檢索物件。有序可重複。 Set:集合中的物件不按特定方式排序(針對記憶體地址來說,即非線性),並且沒有重複物件。它的有些實現類能對集合中

【Python面試系列】當退出 Python 時,是否釋放全部記憶體?

Q 10. 當退出 Python 時,是否釋放全部記憶體? 答案是 No。迴圈引用其它物件或引用自全域性名稱空間的物件的模組,在 Python 退出時並非完全釋放。 另外,也不會釋放 C 庫保留的記

【Python面試系列】Python 中的識別符號長度能有多長?

Q 19. Python 中的識別符號長度能有多長? 在 Python 中,識別符號可以是任意長度。此外,我們在命名識別符號時還必須遵守以下規則: 只能以下劃線或者 A-Z/a-z 中的

Android2018年必須知道的史上最全框架最全開源App(高階開發人員面試)

宣告: 最近相當長一段時間沒有更博,原因在於公司內部專案孵化,週期緊張,沒有時間及精力更博,今天給大家帶來了整理的安卓開發比較全的各種開源框架,開源App。 圖片載入庫 Universal-Image-Loader,早期廣泛被用的一個可重複使用的儀器為非同步影象載入、快