C 處理可變引數函式 (二)

2021-09-08 08:43:28 字數 622 閱讀 5869

前面說了如何 很原始的實現可變引數的問題

但是,這樣的方法可移植性比較的查,不同的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表示後面引數個數,可以理解為 代...