錯誤:
表頭可以為表或單元素值
表尾是指除去表頭後剩下的元素組成的表(即使只剩乙個元素也視為表),可以為空表
void foo(int b[3])
void main()
,,};
foo(a);
printf(「%d」,a[2][1]);
}
int b[3]即是int(*b)[3],b是指向有三個int元素陣列的指標;陣列做形參退化為指標。
a[3][3]可以看作是含有三個一維陣列元素的陣列;
b開始指向a[0][0],++b後,b指向a[1][0],而b[1][1] =b[1]+1=*(b+1)+1即 指向a[2][1],
b[1][1]=9;即a[2][1]=9。
void func(char str_arg[100])
sizeof(str)測量的是字元陣列的占用長度,注意字串後還有個\0,所以是6
sizeof(p)測量的是指標的占用長度,64位系統下是8位元組
sizeof(str_arg)測量的是指標長度,因為這裡是形參。
a. 靜態成員不屬於物件,是類的共享成員
b. 靜態資料成員要在類外初始化
正確:靜態成員可在類體內定義,也可以在類體外定義,需在類外初始化
c. 呼叫靜態成員函式時要通過類或物件啟用,所以靜態成員函式擁有this指標
錯誤:不存在this指標
d. 非靜態成員函式也可以操作靜態資料成員
a. 只能在該cpp所在的編譯模組中使用該變數
正確 b. 該變數的值是不可改變的
c. 該變數不能在類的成員函式中引用
d. 這種變數只能是基本型別(如int,char)不能是c++型別
有乙個類b繼承自類a,他們資料成員如下:
class a ;
class b : public a
建構函式初始化時必須採用初始化列表一共有三種情況,
1.需要初始化的資料成員是物件(繼承時呼叫基類建構函式)
2.需要初始化const修飾的類成員
3.需要初始化引用成員資料
b c
若char是一位元組,int是4位元組,指標型別是4位元組,**如下:
class ctest
virtual
void mem_fun(){}
private:
char m_chdata;
int m_ndata;
static
char s_chdata;
};char ctest::s_chdata=』\0』;
1.在類中,如果什麼都沒有,則類占用1個位元組,一旦類中有其他的占用空間成員,則這1個位元組就不在計算之內,如乙個類只有乙個int則占用4位元組。
2.如果只有成員函式,則還是只占用1個位元組,因為類函式不占用空間
3.虛函式因為存在乙個虛函式表,需要4個位元組,
4.資料成員物件如果為指標則為4位元組,注意有位元組對齊。
virtual void mem_fun(){}; 佔4個位元組,
char m_chdata; 佔1個位元組,
int m_ndata; 佔4個位元組;
按照4位元組對齊就是 4 4 4即12位元組;
按照1位元組對齊就是 4 1 4 即9位元組。
class p
; virtual
int setval(int val)
;};
int ival; 佔4位元組
virtual int setval(int val) ; 佔4位元組
sizof(p)=8。
a. 靜態變數和常量的作用相同
錯誤b. 函式中的靜態變數,在函式退出後不被釋放
正確:函式中的靜態變數是靜態區域性變數 函式退出後不被釋放 在程式執行結束時才釋放。
c. 靜態變數只可以賦值一次,賦值後則不能改變
錯誤:靜態變數儲存在全域性儲存區,直到程式結束後才會被釋放,只進行一次初始化,以後的值是上一次使用過後的值,也即是可變的,而變數是不可變的。
d. 靜態全域性變數的作用域為乙個程式的所有原始檔
錯誤:靜態全域性變數的作用域只能是定義它的檔案裡,不是被其他檔案使用。
專項練習 陣列和字串(二)
私有成員不能被派生類訪問 include include void fun char s main 主函式中呼叫fun p 函式後,進入函式fun char s 實參 char p和形參char s間,只是簡單的位址值的形式傳參。如果在fun char s 函式中輸出s,會出現string 但形參的...
專項練習之字串
時間限制 1 s 空間限制 128000 kb 題目等級 青銅 bronze 給出乙個英語句子,希望你把句子裡的單詞順序都翻轉過來 輸入描述 input description 輸入包括乙個英語句子。輸出描述 output description 按單詞的順序把單詞倒序輸出 樣例輸入 sample ...
陣列和字串練習
二 學習心得 三 github 庫鏈結 注意 中心下標可能出現在陣列的兩端。include using namespace std intmain i,j,lsum 0,rsum 0,re 1 int n sizeof nums sizeof nums 0 for i 1 i n i for j 0...