1樓:匿名使用者
int *&pvec是c++中的指向int型別指標的引用,就是pvec本身是對函式呼叫時實參的一個引用,而這個實參的型別是一個指向整形的指標型別,之所以使用引用,是因為要在函式中修改這個指標的內容。(如果只需要修改指標指向的記憶體單元的內容,只需要用指標型別作為形參就可以)
int &size 中size同樣是一個引用,是指向int型別的一個引用,目的同樣是修改引用的實參的值。
fstream在c++中是一個檔案流型別,可以讀取也可以寫入,fstream&可以傳入一個fstream型別的物件,在函式中的目的同樣是修改原有實參的內容,引用不會對實參進行拷貝。
至於引用的使用方法與介紹,見:
如果允許用c++的話,這樣就可以:
#include
#include
#include
#include
#include
using namespace std;
int main()
上面這個程式的目的就是讀入task.txt的所有內容,然後每行一個數字的輸出。
你要的陣列的首地址可以通過&ivec[0]獲取,其長度就是ivec.size()
2樓:
第一個和第二個問題差不多,
&是c++裡面的引用,功能是,如果要通過函式來改變引數的值就要傳遞引數的地址進去,&就是取引數的地址,如果不用& 而直接傳引數進去的話,該引數在函式裡面所作的改動將在函式執行完畢之後回到當初傳遞進去時候的值,也就是隻是傳值而不對引數進行修改。
而*&這個 看樣子就是和指標有關, 意思就是 引數是個指標,但是要通過函式來改變這個指標的值,所以要傳指標的地址進去,就成了*& 這樣。
原理就是:要通過函式來改變引數的值就要傳引數的地址進去,* 和&的 用法應該你明白了吧。
對於第三個問:如果你不懂再問,要證明自己比外國佬強就要自己動手。 這關你過不了,以後你還得靠別人。
3樓:匿名使用者
nt *&pvec是c++中的指向int型別指標的引用,就是pvec本身是對函式呼叫時實參的一個引用,而這個實參的型別是一個指向整形的指標型別,之所以使用引用,是因為要在函式中修改這個指標的內容。(如果只需要修改指標指向的記憶體單元的內容,只需要用指標型別作為形參就可以)
int &size 中size同樣是一個引用,是指向int型別的一個引用,目的同樣是修改引用的實參的值。
fstream在c++中是一個檔案流型別,可以讀取也可以寫入,fstream&可以傳入一個fstream型別的物件,在函式中的目的同樣是修改原有實參的內容,引用不會對實參進行拷貝。
4樓:匿名使用者
第1,2個是同一個問題,&在c++中除了原c的那些外,還有一個功能就是引用, int *&pvec,這個是int *的引用,而int &size就是int的引用.引用就是別名,進函式後,可以將返回值帶回來.int &size這個,如果size在函式裡被改變的話,是會被帶回到呼叫函式的.
具體的可以查一下c++的引用
第三個問題的示例**:
#include
#include
#include
#include
using namespace std;
int main()
cout< return 0;} 5樓:匿名使用者 試試看。 #include #include #include #include using namespace std; int main() cout< return 0;} 6樓:conny的知識小店 vc++6.0會,2008就幫不上你了。。。 c語言陣列輸入輸出問題 定義一個陣列 輸入不定個數的數字 怎麼弄 輸出怎麼輸出 循 7樓:擦擦設定 如果限制於c語言的話。那麼就不是很方便了。 但是是有方法的:有叫malloc,realloc的函式,在標頭檔案或者裡面(看編譯器)。 給你一個我寫的**。你看著怎麼用。可以輸入任意數量的int型數字,然後直接輸出。 測試平臺:devc++ 輸入:20 10 50 30 ctrl+z(鍵盤ctrl鍵,表示輸入結束,結束符) 輸出:20 10 50 30 輸入:20 10 50 30 50 50 50 ctrl+z(鍵盤ctrl鍵,表示輸入結束,結束符) 輸出:20 10 50 30 50 50 50 #include #include #include int main() for(j=0;j 8樓:明月看盡滄桑 個數再不定也有個上限,比如最多輸入10個數字,就可以定義int a[10]; 或者用連結串列動態分配記憶體,將節點建立、賦值封裝成一個函式,然後每需要輸入一個資料就呼叫一次函式。 輸出是需要注意的是迴圈變數迴圈次數及方向(如果輸出用a[n],而迴圈計數變數用i則只需要考慮迴圈次數)。 陣列問題(c語言),如何讓輸入者定義個數,並輸入數值,形成陣列 9樓:狐狸河來客 嚴格意義上講,c語言裡面定義陣列時其長度不能為變數,必須為固定值,因為c語言程式在定義陣列時,必須先給陣列開闢一個記憶體空間。不過,你所提的要求還是可以實現的,一般的做法是,可以先假設一個較大的數(不超過你所想輸入的輸入的陣列長度的最大值mxlength,)作為初始定義時陣列大小,然後在輸入陣列時,在程式中設定判斷語句,判斷已輸入長度是否到達使用者所要輸入的長度,若已到達則結束輸入。 #include #define maxlength 1000void main() 根據提示先輸入所要輸入陣列大小,回車之後依次輸入陣列各元素值,以空格作為陣列元素間間隔,不要超過你剛才輸入的長度,不然會報錯。如果所用軟體是visual c++,可以給為中文提示輸入! 10樓:匿名使用者 只能採用動態分配空間的方式,即:採用指標的方法去動態的定義陣列空間。 #include #include #include int main( void ) pstr=malloc( nsize ); if ( pstr == null ) for ( i=0;i return 0;} 11樓:手機使用者 第一種方法陣列內容自定義 #include main() 第二種方法陣列內容已定義 #include main() ,n,i; scanf("%d",&n); for(i=0;i<10;i++)if(n==a[i])break; if(i==10)printf("no found"); else printf("%d",i); system("pause");} c語言問題-把數字轉換為字元陣列 12樓:星月小木木 #include void main() 13樓:鄒晗玥碩芫 1.如果你的字串裡只有一個字元,即只有 a[0] ='0',沒有 a[1]、a[2] 等,那麼用 a[0] -'0' 就可以得到整數02. 如果你的字串裡不只一個字元,那麼要看它到底能不能轉換成0,比如 "000" 就可以轉換成 0,但"012" 轉換後得到 12,這個轉換可以用標準庫裡的 atoi函式。 14樓: #include #include int main() ;scanf("%f", &a); arr = ftoa(a); printf("%s\n", arr); return 0;} 15樓:匿名使用者 #include main () c語言中,定義了一個一維陣列,怎麼樣能直接輸入一串數字,把他放到陣列裡,而不是一個個輸入? 16樓:匿名使用者 有兩種方式,一種是scanf("%s", name);那麼即是你的陣列名,該函式獲取字串時遇到空格或者回車停止獲取,還有一種是gets(name);該函式遇到回車停止獲取,即能獲得空格。 用c語言定義一個整型陣列,編寫一個程式,主函式呼叫下面幾個自定義函式來完成。 (1) 自定義輸入 c語言問題 呼叫函式把數插入陣列 17樓:伊·梵 int insert(int a, int n, int pos); 這樣不行的,還少一個引數:陣列的大小 不知道你要返回一個什麼值,改成void了 //int a 陣列 //int val 要插入的值 //int pos 要插入的位置0 ~ n-1,函式外面判斷,保證正確 //int n 陣列的大小 void int insert(int a, int val, int pos, int n) 方法1 利用全域性變數 分析 全域性變數作為c語言的一個知識點,雖然我們都瞭解它的特點,但在實際教學過程中應用得並不是很多。由於全域性變數的作用域是從定義變數開始直到程式結束,而對於編寫有多個返回值的c語言函式,我們可以考慮把要返回的多個值定義成全域性變數。當函式被呼叫時,全域性變數被更改,我們再把... 沒有本質區別。舉例 mylib.h void fun1 int a,int b int fun2 mylib.c include mylib.h void fun1 int a,int b int fun2 c語言中自定義函式與系統函式的區別 系統函式是包含在系統標頭檔案中的函式,它作為一個外部函式... 1 在開頭bai處定義了兩個du 指標變數point 1和point 2。但此時他zhi們並未指向任何dao一個回變數,只是提供兩答 個指標變數,規定他們可以指向整形變數,至於指向哪一個整形變數,要在程式語句中指定。程式第6,7兩行的作用就是使point 1指向a,point 2指向b,此時poin...c語言自定義函式返回陣列的問題,C語言自定義函式返回一個陣列的問題
C語言裡面預處理自定義庫函式和系統自帶的庫函式有什麼區別嗎
C語言如何用呼叫函式的方法把數字從小到大排序