指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。
#include
using namespace std;
int main(void)
可以利用指標p++來依次訪問儲存位置相鄰的陣列的值
#include
using namespace std;
int main(void)
; int *p;
p =&a[0]
;//將p定位到a[0]的位置
p++;//將p指向下乙個位置,就是a[1]的位置
return 0;
}
對函式的形參的值修改也會將實參的值改變
#include
using namespace std;
void swap(int *a,int *b)
int main(void)
#include
#include
#include
using namespace std;
int *randrom(
)return tp;
}int main(void)
return 0;
}
引用變數是乙個別名,也就是說,它是某個已存在變數的另乙個名字。一旦把引用初始化為某個變數,就可以使用該引用名稱或變數名稱來指向變數。
1、不存在空引用,引用必須連線到一塊合法的記憶體引用的值會隨著引用物件的值的改變而改變2、一旦乙個引用初始化為乙個物件,就不能再轉為另乙個物件。指標隨時可以指向另乙個物件。
3、引用必須在建立時被初始化,指標可以在任何時候被初始化。
#include
using namespace std;
int main(void)
#include
using namespace std;
void swap(int& x,int &y)//形參的型別是引用
int main(void)
當返回乙個引用時,被引用的物件不能超過作用域,所以乙個對區域性變數的引用是不合法的,但是可以返回乙個對靜態變數的引用。
#include
using namespace std;
int& mul(int x,int y)
int main(void)
C 指標與引用
include 引用傳遞 int add1 int x,int y 指標傳遞 int add2 int x,int y 值傳遞 int add3 int x,int y void main int a 1 int b a 引用,表示b的引用指向了a 定義引用 開頭 必須賦初值 引用變數不占用記憶體 ...
C 指標與引用
從函式引數傳遞說起 int addition int x,int y int main void duplicate int a,int b int main 按值傳遞,顧名思義,函式形參僅僅得到變數傳來的值,函式的任何操作並不對變數產生任何變化 按位址傳遞,他的定義方式與按值傳遞不一樣 注意其在m...
C 引用與指標
1 引用即給當前物件起了個別名,通過將宣告符寫成 t c的形式來定義引用,其中t是變數名,c是當前物件的名字 修改別名相當於修改當前物件,引用必須初始化,且不能更改指向物件 example int a 10 定義a及初始化 int c a 定義a的引用c cout2 引用不是物件,只是對目前已經存在...