当前位置: 首页 > news >正文

阿里云服务器可以做商业网站中国建设部网官方网站

阿里云服务器可以做商业网站,中国建设部网官方网站,重庆网站仿站,通过页面wordpress文件位置C语言——可变参数 宗旨#xff1a;技术的学习是有限的#xff0c;分享的精神是无限的。 1、目前为止#xff0c;见过比较熟悉的可变参数的函数就是printf()函数 int printf(const char *format, …);span stylefont-family: Arial, Helvetica, sans-serif; back…C语言——可变参数 宗旨技术的学习是有限的分享的精神是无限的。 1、目前为止见过比较熟悉的可变参数的函数就是printf()函数 int printf(const char *format, …);span stylefont-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255); /span 2、可变参数宏 void va_start(va_list arg_ptr, prev_param); type va_arg(va_list arg_ptr, type); void va_end(va_list arg_ptr); va_list:用来保存宏va_start、va_arg和va_end所需信息的一种类型。为了访问变长参数列表中的参数必须声明va_list类型的一个对象      定义 typedef char *  va_list; va_start:访问变长参数列表中的参数之前使用的宏它初始化用va_list声明的对象初始化结果供宏va_arg和va_end使用 va_arg: 展开成一个表达式的宏该表达式具有变长参数列表中下一个参数的值和类型。每次调用va_arg都会修改用va_list声明的对象从而使该对象指向参数列表中的下一个参数 va_end:该宏使程序能够从变长参数列表用宏va_start引用的函数中正常返回。 C语言内存管理中我们提到函数的参数存放在栈中。通过反汇编可知可变参数是从右向左依次压栈的所以第一个参数靠近栈顶最后一个参数靠近栈底。这些参数在内存中是连续存放的每个参数都4字节对齐。 3、stdarg.h的一种实现 /* stdarg.h standard header */ #ifndef _STDARG #define _STDARG /* type definitions */ typedef char *va_list; /* macros */ #define va_arg(ap, T) \(* (T *)(((ap) _Bnd(T, 3U)) - _Bnd(T, 3U))) #define va_end(ap) (void)0 #define va_start(ap, A) \(void)((ap) (char *)(A) _Bnd(A, 3U)) #define _Bnd(X, bnd) (sizeof (X) (bnd) ~(bnd)) #endif /*span stylefont-family: Arial, Helvetica, sans-serif;_STDARG/span */ 这个头文件中的内部宏定义将类型或变量的长度对齐到字节的整数倍例如_Bnd(char, 3U)的值是4_Bnd(int, 3U)也是4 4、可变参数函数实现思路 1首先在函数里定义一个va_list型的变量,这里是arg_ptr,这个变 量是指向参数的指针。 2然后用va_start宏初始化变量arg_ptr,这个宏的第二个参数是第 一个可变参数的前一个参数,是一个固定的参数。 3然后用va_arg返回可变的参数,并赋值给整数j. va_arg的第二个参数是你要返回的参数的类型,这里是int型。 4最后用va_end宏结束可变参数的获取.然后你就可以在函数里使 用第二个参数了.如果函数有多个可变参数的,依次调用va_arg获 取各个参数。 5、myprintf函数实现 #include stdio.h #include stdarg.hvoid myprintf(const char *format, ...) {va_list ap;char c;va_start(ap, format);while(c *format){switch(c){case c:{char ch va_arg(ap, int);putchar(ch);break;}case s:{char *p va_arg(ap, char *);fputs(p, stdout);break;}default:putchar(c);}}va_end(ap); }int main(void) {myprintf(c\ts\n, 1, hello);return 0; }
http://wiki.neutronadmin.com/news/97181/

相关文章:

  • 哪些网站可以做团购宁波seo入门教程
  • 电子商城网站开发项目描述网站建设的收获体会
  • 怎么设计门户网站重庆网站营销seo电话
  • 做网站编程序百度开屏广告优缺点
  • 凡科网站投票排行榜是怎么做的网站建设平台排名
  • 廊坊高端网站制作马蹄室内设计网站
  • 做网站的时候字体应该多大天元建设集团有限公司承包
  • 城建公司建设网站基础资料唐山哪里有做网站的
  • 网站怎么做h5支付农产品网站建设需求
  • 可以做早安图片的网站做推广都有什么网站
  • 做平台网站外包多少钱啊国税网站建设管理
  • 网站单个页面个人注册网址怎么注册
  • 二级域名建站wordpress怎么改成中文字体
  • 建设工程施工合同专属管辖seo网站快速
  • 手机网站如何优化京东电子商务网站建设目的
  • 国外做mg动画的网站大全网络游戏代理
  • 做网站卖袜子效益如何小程序短链接生成
  • 大型网站建设报价方案网站建设费用计入哪个会计科目
  • 成都市做网站的公司公司logo如何注册
  • 学生网页设计成品网站网站开发综合设计报告
  • html5 后台网站模板wordpress无法访问首页
  • 自助网站建设哪家效益快郑州妇科医院排行榜
  • 源码之家 网站模板一个简单的html个人简历代码
  • 空间建设网站电脑网站打不开了但是有网
  • 百度推广信息流有用吗郑州seo代理公司
  • 微网站自助建设无锡做网络推广的公司
  • 佛山网站提升排名企业年金个人和单位的缴费比例
  • 电子商务网站建设下载小程序商城开发华网天下优秀
  • 网站设计说明书做平面设计什么素材网站好使
  • 提供网站建设管理企业名录搜索