1樓:匿名使用者
void+函式的使用方法:
1.void *可以指向任何型別的資料
2. void真正發揮的作用在於:
(1) 對函式返回的限定;
(2) 對函式引數的限定。
例如:void *p1;
int *p2;
p1 = p2;
3.void的使用:
規則一如果函式沒有返回值,那麼應宣告為void型別。
規則二如果函式無引數,那麼應宣告其引數為void。
規則三小心使用void指標型別。
按照ansi(american national standards institute)標準,不能對void指標進行演算法操作,即下列操作都是不合法的:
void * pvoid;
pvoid++; //ansi:錯誤
pvoid += 1; //ansi:錯誤
//ansi標準之所以這樣認定,是因為它堅持:進行演算法操作的指標必須是確定知道其指向資料型別大小的。
//例如:
int *pint;
pint++; //ansi:正確
pint++的結果是使其增大sizeof(int)。( 在vc6.0上測試是sizeof(int)的倍數)
但gnu(gnu's not unix的縮寫)則不這麼認定,它指定void *的演算法操作與char *一致。
因此下列語句在gnu編譯器中皆正確:
pvoid++; //gnu:正確
pvoid += 1; //gnu:正確
pvoid++的執行結果是其增大了1。( 在vc6.0上測試是sizeof(int)的倍數)
在實際的程式設計中,為迎合ansi標準,並提高程式的可移植性,可以這樣編寫實現同樣功能的**:
void * pvoid;
(char *)pvoid++; //ansi:正確;gnu:正確
(char *)pvoid += 1; //ansi:錯誤;gnu:正確
gnu和ansi還有一些區別,總體而言,gnu較ansi更「開放」,提供了對更多語法的支援。但是我們在真實設計時,還是應該儘可能地迎合ansi標準。
規則四如果函式的引數可以是任意型別指標,那麼應宣告其引數為void *
典型的如記憶體操作函式memcpy和memset的函式原型分別為:
void * memcpy(void *dest, const void *src, size_t len);
void * memset ( void * buffer, int c, size_t num );
規則五void不能代表一個真實的變數
下面**都企圖讓void代表一個真實的變數,因此都是錯誤的**:
void a; //錯誤
function(void a); //錯誤
2樓:匿名使用者
sum(&a[2])此語句是函式呼叫,呼叫後程式跳到void sum(int a[ ]),此時陣列的首地址是a[2],即呼叫函式後首地址的元素為3,而在呼叫函式中執行的是a[0]=a[-1]+a[1],此時a[1]是原來主函式中a的[3],即為4,a[-1]是原來主函式中的a[1],即為2,故執行完呼叫函式後a[0]=2+4=6,此時返回a[0],將a[0]返回主函式即為a[2],輸出printf("%d\n",a[2]),就是這樣的。還有就是第一句應該是#include,而不是。
3樓:油菜花零
首先標頭檔案是什麼意思沒看明白
然後你前面執行完sum(&a[2])後,陣列就變成了a=;了
那麼再輸出a[2]的值就是6了。
4樓:開心小書生
因為它的引數是一個陣列,也就是說是一個指標當你把a[2]的地址傳進去時,在裡面的操作其實和在外面操作沒有區別,都是操作你傳進去的陣列(具體你去看看函式引數的傳值與傳地址的差別,就明白了)。
上面你傳的是下標為2的元素的地址,相當於從3那個位置開始操作,所以,a[-1]=2,a[1]=4; 所以就得到那個結果了。
另外,想提醒你一點,最好不要a[-1]這種整,假如你傳的不是a[2]的地址,而是a[0]的地址
就越界了,你不信你試試。
lookup函式的使用方法,if函式的使用方法。
就是在c11到c16當中找一個值9 10的值。找到這個值之後,在這個值對應的d11到d16當中,找到對應值。另外找開excel後,點 幫助 在 搜尋 空格當中輸入 lookup 之後,就會出現解釋。有向量與陣列兩種形式。if函式的使用方法。if函式用法 判斷一個條件是否滿足 如果滿足返回一個值,如果...
vlookup函式的使用方法,vlookup函式使用方法,講的通俗一點
以簡單例子說明,vlookup函式的常用形式 vlookup 需要查詢的值,查詢範圍,指定列號,匹配型別 函式的結果 返回一個資料,這個資料位於 查詢範圍之中,這個資料的行號由 需要查詢的值 在 查詢範圍 的第一列中的行號決定,這個資料的列號,根據需要指定,也可以用公式匹配,匹配型別 需要查詢的值 ...
她vlookup函式的使用方法,vlookup函式使用方法,講的通俗一點
付費內容限時免費檢視 回答親,1.在單元格中輸入 vlookup 引入vlookup函式。2.填寫引數,第一個引數是需要查詢的值,第二個引數是要查詢的區域 框選即可 第三個引數選擇查詢值所在的列數,第四個引數選擇匹配方式。3.輸入四個引數,回車確認即可。如圖所示的表一與表二,我們想要從表二中獲取到表...