面試題 指標 引用

2021-08-28 03:06:39 字數 1710 閱讀 8782

返回目錄:

+問題:

問:引用與指標有什麼區別?

答:

1.引用必須初始化,指標可以不用。

2.引用初始化以後就不能被改變(即只能初始化一次,始終只指向指定的物件),而指標可以改變所指向的物件。

3.不存在指向空值的引用,而指標可以指向乙個空值,即空指標。

4.因為引用不能指向空值,這意味著使用引用之前不需要測試其合法性;而指標則需要經常進行測試。所以使用引用的**效率要比使用指標的效率高,同時也使引用具有更高的安全性。

5.引用不占有記憶體,而指標是佔記憶體的。

6.引用是單個變數的別名,而指標是個實體。

7.sizeof+引用:引用指向的物件的記憶體大小。sizeof+指標變數:指標本身的記憶體大小。

8.引用不存在引用常量,指標存在指標常量。

分析:

void main()

答:

void main()

+問題:

問:下面**是否正確?若不正確,請問哪條語句是錯的?

void main()

答:

void main()

問題:

問:下面**哪條語句是錯誤的?

void main()

答:

void main()

+問題:

問:引用的優勢?

答:

1.引用作為函式引數傳遞時,實際傳遞的是實參,可直接對實參進行改變。而指標作為函式引數傳遞時,傳遞的時實參的位址。根據引用實參的位址來對其進行操作。不管是引用作為函式引數還是其他地方,由於引用是不占用記憶體並且無須像指標那樣還要定址,節約時間和空間。

2.由於引用一旦定義就必須初始化,還有常引用可以保護指向的目標變數的值不輕易被修改,運用比指標安全。

+問題(中興面試):

問:設void f1(int *m,long &n);int a;long b;則以下呼叫合法的是()。

a.f1(a,b)                  b.f1(&a,b)

c.f1(a,&b)                d.f1(&a,&b)

答:b

分析:

引用作為函式引數的作用:形參是變數名的別名,傳遞資料的作用。呼叫時,要求實參是乙個變數名,所以上面的函式,實參直接使用變數名。也可以這樣理解:long &n=b;

面試題 引用和指標

1 引用 簡單理解引用就是乙個變數的另乙個名字,從這個名字的角度對變數可以加以修飾,同時擁有const指標的特性 所以在宣告時必須初始化 1 inta 1 2const intb 4 3int ref a 必須初始化 declared as reference but not initialized...

C 高頻面試題指標和引用

15 請你理解的c 中的 引用和指標 指標是指向一塊記憶體位址的變數,這個變數可以指向其他位址 引用是乙個變數的別名,只能是乙個變數的別名。乙個變數的引用可以轉為指向它的指標。1.初始化不同,引用使用時必須初始化,且只能指向乙個變數,初始化不能指向其他變數 指標不一樣,指標使用時不必初始化,可以指向...

面試題 指標

一 指標 1 利用指標實現兩數交換 include using namespace std void swap1 int p,int q void swap2 int p,int q void swap3 int p,int q void swap4 int p,int q void swap5 i...