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

阿帕奇建设网站博客pc优化工具

阿帕奇建设网站博客,pc优化工具,上海做网站的小公司有哪些,wordpress内容加密插件初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 C语言的语法很麻拐。 初学者的…

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。


        C语言的语法很麻拐。

        初学者的一个常见BUG:

int *a,b;

        试图定义两个指针,却得到了一个指针和一个整数。

        当然了,在后面使用的时候编译器会指出错误,从而发现问题。

        但是为什么C语言要这么设计呢?为什么不涉及成言严格的“类型 变量;”的语法结构呢?

        其实C语言这样设计还是有很多优势的,比如一个复杂的结构,一次性定义结构和结构的指针(下面的例子是typedef,语法规则和变量定义是一样的):

typedef struct{} A,*pA;

        这样一次定义了两种类型:结构A和指向结构A的指针。不然就要用两句:

typedef struct{} A;
typedef A* pA;

        好吧,我承认其实这也没省力多少啊。况且,现在所有编程规范都主张,一行只能定义一个变量,所以这个优势真不重要。

        我们还是验证一下*到底怎么用吧。下面的代码测试了指针定义的几种情形:

#include <stdio.h>
#include <typeinfo>template<typename T>
void f(T x)
{printf("-------------------------------\n");printf("sizeof(x)         : %2zd : typeid : %s\n", sizeof(x), typeid(x).name());
}
typedef struct {}A, *pA;
typedef A* pAA;
int main()
{int* a, b;int** aa, bb;int *const* aaa, bbb;a = 0;b = 0;aa = 0;bb = 0;aaa = 0;bbb = 0;f(a);f(b);f(aa);f(bb);f(aaa);f(bbb);A sa;pA psa=0;pAA psaa = 0;f(sa);f(psa);f(psaa);return 0;
}

        这个代码中的模板函数f用来打印参数的长度和类型,因为是模板,适用于任何类型。

        在VS上用x86配置编译,输出:

-------------------------------
sizeof(x)         :  4 : typeid : int *
-------------------------------
sizeof(x)         :  4 : typeid : int
-------------------------------
sizeof(x)         :  4 : typeid : int * *
-------------------------------
sizeof(x)         :  4 : typeid : int
-------------------------------
sizeof(x)         :  4 : typeid : int * const *
-------------------------------
sizeof(x)         :  4 : typeid : int
-------------------------------
sizeof(x)         :  1 : typeid : struct A
-------------------------------
sizeof(x)         :  4 : typeid : struct A *
-------------------------------
sizeof(x)         :  4 : typeid : struct A *

        看得出来,不仅“*”只约束后面那个变量,连“**”和“*const*”都只约束后面那个变量,有没有办法改变?尝试下面的代码:

	(int) *const* aaa, bbb;(int *)const* aaa, bbb;(int *const)* aaa, bbb;(int *const*) aaa, bbb;

        每一行都是无法编译的。括号怎么加都不对(除了放在变量名后面把变量变成函数指针)。

        这些规则记牢就对了。


(这里是结束)

http://www.yidumall.com/news/132.html

相关文章:

  • 加微信群网站怎么做的抖音seo
  • 小鸡a做爰片免费网站google搜索入口
  • 户型图在线设计网站网页搜索快捷键
  • 美国cn2独立ip站群服务器首页关键词优化价格
  • java做电子商务网站深圳优化怎么做搜索
  • 宁波正规品牌网站设计广告公司取名字参考大全
  • 专业做物流公司网站国内最新新闻消息今天的
  • 网站推广方案及预算百度指数是什么
  • 潍坊外贸网站建设沈阳网站seo
  • 微信小程序云开发费用亚马逊排名seo
  • 做电气的什么招聘网站好百度客服人工在线咨询电话
  • 江阴网页设计大连网站seo
  • 网站开发 -(广告)武汉网络推广优化
  • 腾讯有服务器如何做网站品牌营销的概念
  • 学生网页设计模板素材seo研究中心qq群
  • 广州市建设集团网站seo查询5118
  • 广州做网站找哪家好凡科网站官网
  • 4成都网站建设郑州网站建设推广有限公司
  • 免费的建网站软件网站排名优化技巧
  • 带会员功能的网站网站建设全网营销
  • 做二维码推送网站怎么样免费做网站
  • 如何做外贸网络推广多少关键词排名优化软件
  • 网站开发技术最新技术logo设计
  • 网站留言发送到邮箱自己做网站难吗
  • ps做网站大小尺寸长沙专业做网站公司
  • WordPress访问数据插件网站seo百度百科
  • 做网站前期预算新手怎么做电商
  • 如何在中国建设银行网站转账北京网络营销招聘
  • wordpress 变成中文新浪博客seo
  • 重庆网站备案公司公司网站设计需要多少钱