最贊回答 / Mer1997
這么說吧 ? C語言中的"*"和C++中的"&"在函數中的使用一般都是為了改變 變量的值 ,但是”*“在實質上依舊是單向傳值 只是函數中的指針形參與實參具有相同的內存地址,從而間接改變內存中的內容,因此在函數中改變形參的地址是不會對實參有影響的? 而C++中的”&“則是相當于給變量起別名,因此在函數中操作的”形參“與實參實質上是共用一塊內存空間的,對”形參“做的任何改變都能在實參上得到體現
2017-07-30
最贊回答 / JUST_4_IT
數組numArr[3]={3,8,6},數組長度其實是4,由于只是初始化了前三個,所以默認第四個為‘0’({3,8,6,0}),所以numArr[3]=0,在調用getMax的時候就是在比較0,3哪個大了,所以返回值是3.
2017-07-13
最贊回答 / qq_極光_6
可以設立一個指針intPointer:int?? *intPointer; 然后當取得了i的值后用:intPointer=(int?? *)malloc(i*sizeof(int)); int main() { int i; cin>>i; int[]a=new int[i]; }
2017-07-06
已采納回答 / 保護我方魯班七號
在參數列表中作為參數用時,在這里他們效果是一樣的,都是相當于指針。 注:數組可以看作是常量指針,在聲明時便分配內存,數組名就是指向數組第0個元素的指針,不過指向的地址不可變,這樣說能明白?
2017-07-05
最新回答 / TTshuanger
重載函數與默認參數重疊導致的二義性問題 func(int);???????????????????????????????????????????//重載函數1,只有1個參數,無默認參數 func(int a, int b =4);???????????????????????????//重載函數2,有2個參數,有1個默認參數 func(int a=3, int b=4, int c=6);?????????? //重載函數3,有3個參數,有3個默認參數出現二義性,fun(1,2)會編譯失敗的。
2017-06-20
最贊回答 / SiO
你沒明白數組的含義 ?你加上了*代表的是str的第一個元素 ? ?*str等價于 str[0] ? ?*str+1等價于str[1];所以打印的時候會打印出第一個字符H ? 如果理解請采納謝謝
2017-06-08