1.函式引數的預設值
在c++中,宣告乙個函式時,可以為函式的引數指定預設值。但呼叫預設引數值的函式時,可以不寫出引數,這時就相當於以預設值作為引數呼叫該函式。
c++規定,預設引數只能放在形參列表的最後,而且一旦為某個形參指定了預設值,那麼它後面的所有形參都必須有預設值。實參和形參的傳值是從左到右依次匹配的,預設引數的連續性是保證正確傳參的前提。
老師的**:
#include
using namespace std;
void
print
(int a,
int b=0)
;int
main()
void
print
(int a,
int b)
}
2.函式的過載
c++ 不允許變數重名,但是允許多個函式取相同的名字,只要參數列不同即可,這叫作函式的過載(讀「蟲載」,不讀「眾載」,其英文是 overload)。過載就是裝載多種東西的意思,即同乙個事物能完成不同功能。
老師的**:
#include
using namespace std;
void
print
(int a)
;void
print
(char
*s);
intmain()
void
print
(int a)
//這裡int型
void
print
(char
*s)//這裡char型
由上面兩個例子可知,print()函式裡面形式引數型別可以不同
3.new and delete
1)在c++中,通常使用new運算子來實現動態記憶體分配。
new的第一種用法:
p=new t
其中t是型別名,p是型別為t*的指標。這樣的語句會動態分配出一片大小為sizeof(t)的位元組的記憶體空間,並將該記憶體空間起始位址分配給p。例如:
int *p;
p=new int;
*p=5;
這樣就分配了乙個4個位元組大小的記憶體空間了,而p指向這片空間。通過p可以讀寫該記憶體空間。
2)new還有另一種用法,用來分配乙個任何大小的陣列:
p=new t[n]
t是任意型別名,p是型別為 t的指標,這樣就分配出了nsizeof(t)個位元組的記憶體空間,這片空間給p。例如:
int *pn;
int i=5;
pn=new int[i *20];
pn[0]=20;
pn[100]=30;
3)分配的空間一定要釋放,用delete運算子釋放。
如:動態分配乙個陣列時:delete[ ]指標;
例如:int* p=new int[20];
p[0]=1;
deletep;
老師的**:
#include
using namespace std;
#define count 10
intmain()
for(i=
0;i)for
(j=0
;j) cout
] a;
return0;
}
c 課堂筆記(2)
include include includeusing namespace std int main 1計數控制的迴圈 2條件控制的迴圈 1當型迴圈結構,表示當條件p成立 為真 時反覆執行a操作,直到條件p不成立 為假 時迴圈結束 2直到型迴圈結構,表示先執行a操作,再判斷條件p是否成立 為真 若...
C語言課堂筆記2
一.順序語句與分支語句的知識總結 1 for語句.forfor 先判斷條件後執行語句。注 for語句末尾不加分號 2 while語句.while 表示式 先判斷條件後迴圈。注 while語句末尾不加分號,否則將陷入死迴圈。3.c 語言處理的資料基本型別及形式 資料基本型別 常量 值保持不變 和變數 ...
C 課堂作業 2
給定乙個常數k以及乙個單鏈表l,請編寫程式將l中每k個結點反轉。例如 給定l為1 2 3 4 5 6,k為3,則輸出應該為3 2 1 6 5 4 如果k為4,則輸出應該為4 3 2 1 5 6,即最後不到k個元素不反轉。輸入格式 每個輸入包含1個測試用例。每個測試用例第1行給出第1個結點的位址 結點...