void 函式的使用方法

時間 2021-08-11 17:15:56

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.輸入四個引數,回車確認即可。如圖所示的表一與表二,我們想要從表二中獲取到表...