1樓:匿名使用者
搞清楚這個問題你要先明白指標和引用的概念,指標是一個地址“值”,就是說它本身也是一個“值”,引用是一個“值”的“別名”,也就是另一個名字,void fun(int *& a,int *&b) 中的a和b都是指標型別的引用,這樣使用的好處在於避免了引數傳遞時的值傳遞,典型的例子就是
swap(int a,int b)
這個函式目的是使a、b的值互換而實際使用中不能實現互換,因為值傳遞,而換為
swap(int &a,int &b)
或者swap(int *a,int *b)就可以了,引用傳遞和地址值傳遞都可以解決值傳遞帶來的函式內部對資料的改變失效的問題,而有時候我們需要在函式內部對一個地址值進行改變,也就是指標進行改變,此時就要用到雙指標和指標的引用,即地址值的指標或者地址值的引用,也就是void fun(int *& a,int *&b)。
這一部分一向是初學者的難點,有點繞,希望我解釋的夠清晰。
2樓:匿名使用者
當然可以
void fun(int *& a,int *&b)引數是 int * 型別的引用
必須傳遞 int 指標型別變數
3樓:灰姑娘的霸氣
不行。void fun(int &a; int b);
在上面的函式宣告中,引數a被宣告為整型變數引用。呼叫函式fun()時,可以直接給引數a傳遞一個整型變數。比如:
int i = 10;
int j = 20;
fun(i, j);
如果函式如下宣告:
void fun2(int *a; int b);
引數a被宣告為整型指標變數。呼叫函式fun()時,則給引數a傳遞一個整型變數的地址。比如:
int i = 10;
int j = 20;
fun2(&i, j);
區別:前者是在函式宣告中使用&,後者是在函式呼叫中使用&。
4樓:匿名使用者
能,但沒意義了,兩者相互抵消
*取該記憶體單元內容
&取該記憶體單元地址
對於*&a 先取a的地址,再取那個地址中的值, 還是a 所以*和&在一起的時候相互抵消,跟沒加一樣
就像!!a一樣, 對a非一次,再對 非a 非一次 值學是a 沒變啊
在高等數學中也有類似情況,積分號(不好打我拿f代替)f 和 微分的d 在一起時候也是相互抵消的 fdx = x 這是一樣的道理
5樓:匿名使用者
不可以,編譯器會報錯。
c++中int prime 和 int main 有什麼區別 int prime(int x)是什
6樓:蒙
這是一個函式宣告(function declaration)。函式宣告給出三個重要資訊:(1)函式的名稱;(2)函式各個引數的型別;(3)函式返回值的型別。
程式正是依據這三個資訊來呼叫函式。
在c語言中,函式呼叫遵循的原則是:“先宣告或定義,然後呼叫”。例如#include
/*** 函式宣告:因為函式定義在函式呼叫之後,所以必須先宣告函式!
*/int prime(int x);
void main()
/* 函式定義 */
int prime(int x)
某些情況下,函式的宣告與定義(defination)是合一的。例如#include
/*** 函式定義和宣告合一:這是因為函式的定義出現在函式呼叫之前!
**/int prime(int x)
void main()
美白霜可以混合其他霜一起用嗎
我要花兒為我開 不建議你這樣使用。如果你一定要這樣的話。我建議你先噴水。然後擦上滋潤保溼的。最後再用美白的。一般美白的產品都有點幹。此外不知道你是什麼膚色。如果是偏黃,建議你用紫色。如果是偏紅建議你用綠色的。而且每次洗臉的時候一定洗乾淨。不然會造成毛孔堵塞。而且夜間美白效果更好。最後送上我的補水小祕...
開塞露可以和眼霜一起用嗎,開塞露可以塗臉嗎
開塞露可以代替護手霜,不能代替眼霜,使用的時還是要按照說明使用較好。開塞露可以塗臉嗎 可以。開塞露的主要成分是甘油或甘露醇,平時便秘的時候,大家都會使用開塞露來通便。其實,開塞露除了有很好的通便效果外,還有很好的滋潤 的功效。食用級甘油其中最優質一種 生物精化甘油,除含有丙三醇,還有酯類 葡萄糖等還...
紅藥水可以與碘酒一起用嗎 為什麼
尋醫問藥網 紅藥水作為一種外用止血的良藥,常常被塗抹在我們身體上用來傷口消毒的。很多時候我們都會配合上碘酒一起使用,但實際上這是不正確。碘酒和紅汞都是外傷常用藥,具有很好的殺菌抗感染功效。但是,生活中常有一些人在發生外傷時同時使用這兩種藥,認為這樣效果更好。其實,這樣做反而不利於傷口的癒合。碘酒含碘...