zoukankan      html  css  js  c++  java
  • 细节五

    1.

    *p.age 与(*p).age是完全不同的,.优先级大于*

    ->优先级大于++

      即 ++p->a; p->a++ 都是成员进行++

      ++p->a 与++(p->a) 相同

      p->x 是一个整体,因为整个它才能表示一个变量,
      而p->++x是一个错误的语法,因为没有成员是 ++x的,
    如果你想让其成员自增,可以这么写: ++p->x;或者
    是p->x++,但要记住,p->x是一个整体,是不可分割属的
    无论在任何情况下。如果你试图去列举一个可以分割的
    例子的话,那么一定是错误的例子。

    2.C预处理的功能

      a宏定义    b文件包含    c条件编译

    3.

      1. Big-Endian(大端):高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。

      2.Little-Endian(小端):低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。

    4.包含头文件 要优于声明函数类型,因为

      如果函数参数进行了修改,容易引发错误(声明的地方,往往忘记修改)

    5. 外部链接标识符与本模块标识符如何区分

    最近在看C语言的经典书籍——《The C Programming Language》,其中第二章讲到变量名时有这么一段话:“对于内部名而言,至少前31个字符是有效的。函数名与外部变量名包含的字符数目可能小于31,这是因为汇编程序和加载程序可能会使用这些外部名,而语言本身是无法控制加载和汇编程序的。对于外部名,ANSI标准仅保证前6个字符的唯一性,并且不区分大小写。” 怎么也读不懂,于是Google之,得到如下解释:

      A N S I标准规定,标识符可以为任意长度,但外部名必须至少能由前6个字符唯一地区分,并且不区分大小写。这里外部名指的是在链接过程中所涉及的标识符,其中包括文件间共享的函数名和全局变量名。因此外部名abcdefgh和abcdef将被当作同一个标识符处理。

    A N S I标准还规定内部名必须至少能由前31个字符唯一地区分。内部名指的是仅出现于定义该标识符的文件中的那些标识符。C语言中的字母是有大小写区别的,因此count Count COUNT是三个不同的标识符。标识符不能和C语言的关键字相同,也不能和用户已编制的函数或C语言库函数同名。

    6. 移位运算符优先级小于算法+ - 运算符 小于算术运算符

    void main()
    {
    int i=1;
    int m= 2<<i+4;
    int t=2 <<5;
    printf("%ld ",t);
    printf("%ld ",m);

    }
    7. ,运算符优先级最小

     ,运算符结果,取右边的值作为结果。

    奋斗为了更好的生活。
  • 相关阅读:
    OneNote2007产品密钥及激活方法
    穿着马甲的编码方式链式
    String 转换NameValueCollection 的方法 , 这是原创 嘎嘎
    TransactionScope分布式事务无法使用时, 配置并启动 MSDTC 的解决方案
    Spirit越狱3.1.3/3.2固件(Windows)
    智能感知 不正常的解决方法
    HttpHandler HttpModule入门篇
    Microsoft.Practices.Unity依赖注入使用实例
    ViewEngine 深入解析与应用实例
    打开chm文件提示“已取消到该网页的导航”的解决方案
  • 原文地址:https://www.cnblogs.com/redman274/p/12882531.html
Copyright © 2011-2022 走看看