前面說了如何 很原始的實現可變引數的問題
但是,這樣的方法可移植性比較的查,不同的cpu ,32 位 ,64 位可以變數對其的方法有差別。
比較好的做法是用 c內部的函式庫來實現。
不廢話了,貼上**:
#include
<
stdlib.h
>
#include
<
stdarg.h
>
#include
<
string
.h>
#include
<
stdio.h
>
char
*vstrcat(
const
char
*first, ...);
intmain(
intargc,
char
**ar**)
char
*vstrcat(
const
char
*first, ...)
posted @
2009-12-12 23:20
暮夏 閱讀(
...)
編輯收藏
C語言函式可變引數處理簡介
在c語言程式設計中,有時會遇到函式可變引數的情況,c語言沒有像c 那樣具有函式過載的機制,不過c語言還是考慮到了這方面的問題,設計了幾條語句來處理這種情況。下面就以例項來說明這個語句的使用,部分說明就包含在程式中了吧。1 求取乙個可變陣列的均值 include stdafx.h include in...
C可變引數 printf(巨集處理可變引數)
x86平台下的巨集定義 typedef char va list 記憶體對齊 與sizeof int 對齊 0 sizeof n 4,intsizeof n 4 4 sizeof n 8,intsizeof n 8 define intsizeof n sizeof n sizeof int 1 s...
C 引數可變函式
前幾天突然想到,c 中有關不定引數的函式平時沒有用過,查了一下該怎麼寫,記錄下來以免以後忘記。int sum int count,int sum 0 va list args va start args,count for int i 0 i其中,第乙個引數count表示後面引數個數,可以理解為 代...