我個人程式設計一向喜歡偷懶,每次刷題的時候,總要用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 函式。他們三個通常配合使用,在函式外...