& 在c++中表示引用,用來表示儲存器的別名。
int x =7;
int& y=x;//定義了乙個指向x的引用
上面分配了乙個int單元,它有兩個名字x ,y。
還需要注意的是指標的引用
int a = 1;
int b = 2;
int *tmp = &a;
int *p = tmp;// 第二種情況:int *&p = tmp;(此既是指向指標的引用)
p = &b;
*p = 5;
結果一:a=1,b=5,*tmp=1;*p=5;
結果二:a=1,b=5,*tmp=5,*p=5;
動態分配
class person
int main(void)
引用呼叫
當乙個函式的引數為引用引數,則會出現引用呼叫。在以往的程式中我們都是直接傳遞引數,實際上函式裡的虛參為實參的乙個拷貝,在函式中對虛參進行計算是無法改變實際引數的,若使用引用呼叫,則是將實際引數傳遞給函式進行運算,在函式中改變引數的值,主程式中的值也會改變。
#includeusing namespace std;
void swap(int a,int b);//第二種情況:void swap(int& a,int & b);
int main(void)
{ int x = 4;
int y = 11;
cout<<"x="<
a=4,b=11
a=4,b=11
第二種情況:
a=4,b=11
a=11,b=4
動態分配記憶體(學習筆記11)
函式原型 stdlib.h void malloc size 分配size大小的記憶體,返回指向所分配記憶體的指標,分配不成功,返回null void calloc num element,length of element 分配num element length of element 大小的記憶...
C 學習筆記 動態分配記憶體
在c語言中,動態分配記憶體時一般使用malloc 函式,但是對於非內建資料型別 如struct,enum,class等 malloc 與free 無法滿足動態物件的需求,因此c 引入new與delete關鍵字,用來進行記憶體申請與釋放空間。下面是使用 new 運算子來為任意的資料型別動態分配記憶體的...
mallco動態分配 malloc動態分配多維陣列
下面試自己寫的三個測試程式,如果看懂了基本上動態分配多維陣列就沒什麼問題啦 重點 1 深刻理解多維陣列的概念,多維陣列在記憶體中的分配情況,基本上動態分配也沒什麼問題的。然後還要注意一點的就是,釋放是分配的逆過程!include include include void main void int ...