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

php网站 缓存网站名称要注册吗

php网站 缓存,网站名称要注册吗,三丰云做网站教程,正邦设计上海分公司文章目录 用宏参数创建字符串#xff1a;#运算符函数宏#号作为一个预处理运算符#xff0c;可以把记号转换成字符串 预处理器粘合剂#xff1a;##运算符变参宏#xff1a;...和_ _VA_ARGS_ _参考 用宏参数创建字符串#xff1a;#运算符 函数宏 下面是一个类函数宏#… 文章目录 用宏参数创建字符串#运算符函数宏#号作为一个预处理运算符可以把记号转换成字符串 预处理器粘合剂##运算符变参宏...和_ _VA_ARGS_ _参考 用宏参数创建字符串#运算符 函数宏 下面是一个类函数宏 #define PSQR(X) printf(The square of X is %d.\n, ((X)*(X)));假设这样使用宏 PSQR(8);输出为 The square of X is 64.注意双引号字符串中的X被视为普通文本而不是一个可被替换的记号。 #号作为一个预处理运算符可以把记号转换成字符串 C允许在字符串中包含宏参数。 在类函数宏的替换体中#号作为一个预处理运算符可以把记号转换成字符串。 例如如果x是一个宏形参那么#x就是转换为字符串x的形参名。这个过程称为字符串化stringizing。 /* subst.c -- 在字符串中替换 */ #include stdio.h #define PSQR(x) printf(The square of #x is %d.\n,((x)*(x))) int main(void) {int y 5;PSQR(y);PSQR(2 4);return 0; }该程序的输出如下 The square of y is 25. The square of 2 4 is 36.调用第1个宏时用y替换#x。 调用第2个宏时用2 4替换#x。 预处理器粘合剂##运算符 与#运算符类似##运算符可用于类函数宏的替换部分。 而且##还可用于对象宏的替换部分。 ##运算符把两个记号组合成一个记号。 例如可以这样做 #define XNAME(n) x ## n然后宏 XNAME(4)将展开为 x4。 程序演示了##作为记号粘合剂的用法。 // glue.c -- 使用##运算符 #include stdio.h #define XNAME(n) x ## n #define PRINT_XN(n) printf(x #n %d\n, x ## n); int main(void) {int XNAME(1) 14; // 变成 int x1 14;int XNAME(2) 20; // 变成 int x2 20;int x3 30;PRINT_XN(1); // 变成 printf(x1 %d\n, x1);PRINT_XN(2); // 变成 printf(x2 %d\n, x2);PRINT_XN(3); // 变成 printf(x3 %d\n, x3);return 0; }该程序的输出如下 x1 14 x2 20 x3 30注意PRINT_XN()宏用#运算符组合字符串##运算符把记号组合为一 个新的标识符。 变参宏…和_ VA_ARGS _ 一些函数如 printf()接受数量可变的参数。 C99/C11也对宏提供了这样的工具。虽然标准中未使用“可变”variadic这个词但是它已 成为描述这种工具的通用词虽然C标准的索引添加了字符串化(stringizing)词条但是标准并未把固定参数的函数或宏称为固定函数和不变宏。 通过把宏参数列表中最后的参数写成省略号即3个点…来实现这一功能。这样预定义宏_ VA_ARGS _可用在替换部分中表明省略号代表什么。例如下面的定义 #define PR(...) printf(_ _VA_ARGS_ _)假设稍后调用该宏 PR(Howdy); PR(weight %d, shipping $%.2f\n, wt, sp);对于第1次调用_ _VA_ARGS_ _展开为1个参数Howdy 对于第2次调用_ _VA_ARGS_ _展开为3个参数weight %dshipping $%.2f\n、wt、sp。 因此展开后的代码是 printf(Howdy); printf(weight %d, shipping $%.2f\n, wt, sp);程序演示了一个示例该程序使用了字符串的串联功能和#运算符。 // variadic.c -- 变参宏 #include stdio.h #include math.h #define PR(X, ...) printf(Message #X : __VA_ARGS__) int main(void) {double x 48;double y;y sqrt(x);PR(1, x %g\n, x);PR(2, x %.2f, y %.4f\n, x, y);return 0; }第1个宏调用X的值是1所以#X变成1。 展开后成为 print(Message 1 : x %g\n, x);然后串联4个字符把调用简化为 print(Message 1: x %g\n, x);下面是该程序的输出 Message 1: x 48 Message 2: x 48.00, y 6.9282记住省略号只能代替最后的宏参数 #define WRONG(X, ..., Y) #X #_ _VA_ARGS_ _ #y //不能这样做参考 《C Primer Plus》
http://www.yutouwan.com/news/271340/

相关文章:

  • 关于加强网站建设做网站多长时间
  • 权威的网站建设公司建筑建材网站设计费用
  • 宁波网站建设网站推广新网站
  • 网站专栏的作用建e网室内设计网别墅
  • 镇江网站设计建设瑞金网络推广
  • 北京游戏网站建设查重网站开发
  • 牛视频网站建设可以访问国外网站的dns
  • 大气的个人网站做网站需要做数据库
  • 如何进行网站建设分析增城移动网站建设
  • 十字绣网站开发南通网站建设top
  • 同程网 网站模板strikingly建站怎么样
  • 图案设计网站大全市网站开发公司
  • 网站开发与设计作业高安做网站
  • seo快速优化软件网站河南省建设监理协会新网站
  • 换空间对网站的影响wordpress mysql5.1
  • 网站优化公司的seo做的好网站里的做菠菜
  • wordpress百度地图插件下载重庆网站seo案例
  • 高端响应式网站建设高校邦营销型网站建设测验答案
  • 电子商务网站登录js页面wordpress
  • 网站建设属于高新技术收入吗天津seo关键字推广
  • 网站定制解决方案北京网站优化对策
  • 一元购网站的建设wordpress换主题影响seo吗
  • 凡科可以做游戏网站吗Wordpress去掉左上角标志
  • 网站免费建站2小众但惊艳的公司名称
  • 简述酒店类网站开发的策略网站首页设计常见的6种布局方式
  • 做广告推广哪家好兰州网站优化排名
  • 做像淘宝这样的购物网站要多少钱静态网站有什么用
  • 建设工程查询网站个人dw网页设计
  • 外贸网站怎么营销四川网站建设报价
  • 济南产品网站建设外包建设银行网站 个人客户