zoukankan      html  css  js  c++  java
  • 嵌入式培训学习历程第二十三天

      1.变参函数 : 声明中带有“...”的函数

          (1)函数调用时参数个数不确定

           (2)注意: 

                变参函数中至少有一个固定参数

                变参函数在声明,定义时参数不固定

                变参列表在调用参数中, 参数个数,类型都是固定的

      2.va_list  类型名   : typedef char* va_list

       va_start  va_arg   va_end  是宏

            va_start : 保存第一个变参列表  例: va_start(ap, last)  : &last + sizeof(last)

            va_arg : 取出当前变参并将指针指向下一变参  例 : va_arg(ap, type)   : *((type *)((ap += sizeof(type)) - sizeof(type)))

            va_end : 将指针清空

        扩展 : Tnd(type , tnd)    : (sizeof(type) + tnd) & ~tnd      结果为4的整数倍    通常tnd 是 3U

      3.使用va_arg(ap, type) 

          注意事项: 整形提升 : 若获取的类型为char会提升为int

      4.整形提升的目的 : 为了对齐  

      

      英语 : decimal(小数)

  • 相关阅读:
    手机市场价格尚待规范
    Hotmail的2G邮箱被收回,只剩250M了
    网格50题(zz)
    Wallop介绍
    Hotmail邮箱居然还有2G
    IE 7.0抛弃Win2000用户?(zz)
    祝各位Blogger新春快乐!
    Gmail Invitation
    A CS Research Topic Generator(zz)
    今天"做大岁"
  • 原文地址:https://www.cnblogs.com/cxw825873709/p/3261494.html
Copyright © 2011-2022 走看看