c語言面試常見問題
1.const意味着”只讀",下面的聲明都是什麼意思?
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
前兩個的作用是一樣,a是一個常整型數。第三個意味着a是一個指向常整型數的指針(也就是,整型數是不可修改的,但指針可以)。第四個意思a是一個指向整型數的常指針(也就是説,指針指向的整型數是可以修改的,但指針是不可修改的)。最後一個意味着a是一個指向常整型數的常指針(也就是説,指針指向的整型數是不可修改的,同時指針也是不可修改的)。
結論:·;關鍵字const的作用是為給讀你代碼的人傳達非常有用的信息,實際上,聲明一個參數為常量是為了告訴了用户這個參數的應用目的。如果你曾花很多時間清理其它人留下的垃圾,你就會很快學會感謝這點多餘的信息。(當然,懂得用const的程序員很少會留下的垃圾讓別人來清理的。)·;通過給優化器一些附加的信息,使用關鍵字const也許能產生更緊湊的代碼。·;合理地使用關鍵字const可以使編譯器很自然地保護那些不希望被改變的參數,防止其被無意的代碼修改。簡而言之,這樣可以減少bug的出現。
(1)欲阻止一個變量被改變,可以使用const關鍵字。在定義該const變量時,通常需要對它進行初始化,因為以後就沒有機會再去改變它了;
(2)對指針來説,可以指定指針本身為const,也可以指定指針所指的數據為const,或二者同時指定為const;
(3)在一個函數聲明中,const可以修飾形參,表明它是一個輸入參數,在函數內部不能改變其值;
(4)對於類的成員函數,若指定其為const類型,則表明其是一個常函數,不能修改類的成員變量;
(5)對於類的成員函數,有時候必須指定其返回值為const類型,以使得其返回值不為“左值”。
2.關鍵字volatile有什麼含意?並給出三個不同的例子。
一個定義為volatile的變量是説這變量可能會被意想不到地改變,這樣,編譯器就不會去假設這個變量的值了。精確地説就是,優化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使用保存在寄存器裏的備份。下面是volatile變量的幾個例子:
(1)並行設備的硬件寄存器(如:狀態寄存器)
(2)一箇中斷服務子程序中會訪問到的非自動變量(non-automatic variables)
(3)多線程應用中被幾個任務共享的變量
3.一個參數既可以是const還可以是volatile嗎?解釋為什麼。一個指針可以是volatile 嗎?解釋為什麼。
答案:
(1)是的。一個例子是隻讀的狀態寄存器。它是volatile因為它可能被意想不到地改變。它是const因為程序不應該試圖去修改它。
(2)是的。儘管這並不很常見。一個例子是當一箇中服務子程序修該一個指向一個buffer的指針時。
4.static關鍵字有什麼作用?
(1)函數體內static變量的作用範圍為該函數體,不同於auto變量,該變量的內存只被分配一次,因此其值在下次調用時仍維持上次的值;
(2)在模塊內的static全局變量可以被模塊內所用函數訪問,但不能被模塊外其它函數訪問;
(3)在模塊內的static函數只可被這一模塊內的其它函數調用,這個函數的使用範圍被限制在聲明它的模塊內;
(4)在類中的static成員變量屬於整個類所擁有,對類的所有對象只有一份拷貝;
(5)在類中的static成員函數屬於整個類所擁有,這個函數不接收this指針,因而只能訪問類的'static成員變量。
5. extern 在"c"中有什麼作用:
(1)被extern "c"限定的函數或變量是extern類型的;
extern是c/c++語言中表明函數和全局變量作用範圍(可見性)的關鍵字,該關鍵字告訴編譯器,其聲明的函數和變量可以在本模塊或其它模塊中使用。
(2)被extern "c"修飾的變量和函數是按照c語言方式編譯和連接的;
extern "c"的慣用法
(1)在c++中引用c語言中的函數和變量,在包含c語言頭文件(假設為cexample.h)時,需進行下列處理:
extern "c"{ #include"cexample.h"}
《c語言面試常見問題》全文內容當前網頁未完全顯示,剩餘內容請訪問下一頁查看。
-
國小教師年度考核個人述職報告6篇
在當下社會,報告的使用成為日常生活的常態,報告具有成文事後性的特點。那麼,報告到底怎麼寫才合適呢?以下是小編收集整理的國小教師年度考核個人述職報告,供大家參考借鑑,希望可以幫助到有需要的朋友。國小教師年度考核個人述職報告1尊敬的領導:您好!回顧xx至xx年度第...
-
英語學科組研修計劃
時間的腳步是無聲的,它在不經意間流逝,我們的工作又將在忙碌中充實着,在喜悦中收穫着,來為以後的工作做一份計劃吧。什麼樣的計劃才是有效的呢?下面是小編為大家收集的英語學科組研修計劃,僅供參考,希望能夠幫助到大家。英語學科組研修計劃1隨着課程改革的逐步深入,新...
-
【熱門】失敗的經歷作文合集七篇
在日常的學習、工作、生活中,大家都經常看到作文的身影吧,作文是人們以書面形式表情達意的言語活動。相信很多朋友都對寫作文感到非常苦惱吧,以下是小編為大家整理的失敗的經歷作文8篇,歡迎閲讀與收藏。失敗的經歷作文篇1我的媽媽工作很忙,整天早出晚歸,沒時間做家務...
-
人力資源總監工作計劃範文(精選10篇)
日子如同白駒過隙,不經意間,又將迎來新的工作,新的挑戰,讓我們一起來學習寫工作計劃吧。做好工作計劃可是讓你提高工作效率的方法喔!下面是小編整理的人力資源總監工作計劃範文,僅供參考,希望能夠幫助到大家。人力資源總監工作計劃1一、完善公司及部門組織架構1、公司...