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()
乳液和麵霜可以一起用嗎,乳液和麵霜可以一起用嗎
乳液和麵霜實質上相同,嚴格來說屬於同一劑型的化妝品,在護理 時所起的作用相同,完全沒有必要同時使用。對於同一個品牌,相同系列的產品,乳液和麵霜的功效成分通常差不多,主要區別在滋潤度,乳液清爽 稀薄一些,面霜滋潤 濃稠一些。至於選擇乳液還是面霜護膚,要根據季節 地區差異 自身 的性質等情況,結合產品的...
幾種面膜可以一起用嗎,多種面膜可以混用嗎
這個我建議還是不要一塊用好一些我覺得一週用2就可以了!最好還是不要一起用的太雜了,各產品的內含物質會起反應的,到時護膚效果就適得其反了。恩,超過了.個人覺得 兩三天一次差不多了,不要混用吧 最好不要一起用吧,而且 不要做的太頻繁,一週兩三次就可以了 多種 可以混用嗎 是可以的,不過功能性的最好是隔的...
祛斑霜可以和防晒霜一起用嗎
可以一起用的。祛斑霜是用在爽膚水和麵霜之間,防晒霜用在面霜之後。但是如果有光敏成分,比如熊果苷,就不要在白天用祛斑霜 祛斑霜 活血化瘀,平衡色素,淡化祛除黃褐斑 蝴蝶斑 妊娠斑 黑斑 雀斑 老年斑 內分泌失調斑 缺水性斑 化妝品化學傷害斑 環境化學汙染斑和疑難雜症斑等各類色斑的黑色素,消除淡化各類色...