C語言簡答題(三)

2021-08-15 09:24:36 字數 999 閱讀 6458

陣列要麼在靜態儲存區被建立(如全域性陣列) ,要麼在棧上被建立。陣列名對應著(而不是指向)一塊記憶體,其位址與容量在生命期內保持不變,只有陣列的內容可以改變。指標可以隨時指向任意型別的記憶體塊,它的特徵是「可變」 ,所以我們常用指標來操作動態記憶體。指標遠比陣列靈活,但也更危險。

const是乙個修飾符,被修飾的物件或者變數是不可修改的,也就是說const可讀不可改,const在誰的後面const就修飾誰,如果const在最前面,那麼將const後移一位即可,二者是等效的。

const有以下這幾個作用:(1)如果我們想要阻止乙個變數被改變,那麼我們就可以使用const關鍵字來修飾它,由於被const修飾的物件或者變數是可讀不可寫的,因此我們在使用const的使用要對所修飾的物件或者變數進行初始化,否則以後沒有機會再改變他的值。(2)對於指標來說,const可以修飾指標本身,也可以修飾指標所指的資料,也可以修飾兩者。(3)在對乙個函式進行宣告的時候,可以使用const對形參進行修飾,表明它是乙個輸入引數,在函式的內部不可寫。(4)對於類的成員函式,如果被const修飾,表明它是乙個常函式,不能修改類的成員變數。(5)對於類的成員函式,有時候必須指定其返回值型別是const,這樣使得該函式的返回值不是「左值」。

3.請說出const與#define相比,有何優點?

const作用:定義常量、修飾函式引數、修飾函式返回值三個作用。被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。

1)const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全檢查。而對後者只進行字元替換,沒有型別安全檢查,並且在字元替換可能會產生意料不到的錯誤。

2)有些整合化的除錯工具可以對const常量進行除錯,但是不能對巨集常量進行除錯。

什麼是預編譯:

1 )巨集定義 

2 )檔案包含 

3 )條件編譯

何時需要預編譯:

c 簡答題題庫 C 簡答題集錦

c 簡答題集錦 問題1 什麼是演算法?演算法應包括哪兩部分?答 所謂演算法,是指為解決乙個問題而採取的方法和步驟,或者說是解題步驟的精確描述。演算法應包括設計演算法和執行演算法兩部分。問題2 結構化程式設計的特徵是什麼?答 結構化程式設計方法從程式設計思想上要求自頂向下,逐步求精 從程式的具體結構上...

C 簡答題集錦

1.物件導向的三大特性 封裝 把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊隱藏。繼承 就是讓乙個型別的物件擁有另乙個型別的物件的屬性的方法。多型 同乙個型別的物件在執行同乙個方法時,可以表現出多種行為特徵。2.請列出c 中幾種迴圈的方法,並指出他...

C 簡答題集錦(二)

6.c 中string 和string 有什麼區別 兩者本質上沒有任何區別,都是system.string,只是書寫習慣問題。可以認為,string是system.string的別名而已 7.簡述 private protected public internal 修飾符的訪問許可權。private...