利用可變引數函式清空多個陣列

2022-04-28 12:06:33 字數 424 閱讀 8102

我個人程式設計一向喜歡偷懶,每次刷題的時候,總要用memset乙個乙個的清空陣列,煩死了。於是我定義了乙個巨集

#define clean(x) memset(x, 0, sizeof(x))

來處理這個問題,但是陣列多起來就麻煩了。(欸,我是有多懶 orz)

於是想到可以用可變引數的函式來解決,如下:

#include

2:

#define m(a) memset(a, 0, sizeof(a))

3:

void clean(int count, ...)

4:

(某同學吐槽:這樣好像更麻煩啊喂!!!!)

然後我就把這一段放到預設源裡面啦,就這樣愉快的解決了。orz

technorati 標籤: 可變引數的函式,初始化陣列,偷懶

引數個數可變的函式

今天突然想起引數個數可變的函式,然後想了下,覺得自己還真不太了解它,遂決定弄清楚。1.如何取得可變引數 比如 void f int fixpara1,char p char fixpara1 取得固定引數位址 cout int p 為什麼p 4可以取到第乙個可變引數呢?因為引數在函式被呼叫前,會逐個...

可變引數個數的函式

type vafunction type arg1,type arg2,引數可以分為兩部分 個數確定的固定引數和個數可變的可選引數。函式至少需要乙個固定引數,固定引數的宣告和普通函式一樣 可選引數由於個數不確定,宣告時用 表示。固定引數和可選引數公同構成乙個函式的引數列表。標準c c 包含標頭檔案s...

8 5 5 可變個數引數的函式

可變個數引數的函式,適用於實參多於形參的情況。如果希望函式可以接受任意多個引數,需要使用php系統提供的系統函式func get args 函式,它將所有傳遞給指令碼函式的引數當做乙個陣列返回。對應的還有func get arg 函式,func num args 函式。他們三個通常配合使用,在函式外...