zoukankan      html  css  js  c++  java
  • C/C++零碎知识总结

    1、八进制数

     int a = 010;

    八进制数以0开头,上面的a是9不是10;

    2、define一个常数

    #define A 123456UL

    其中UL表示是一个非负的长整数,一般在16位系统中会这么做。

    3、#define一个min函数

    #define MIN(a,b) ((a)<(b)?(a):(b))

    很多人忘记了最外面的括号

    4、typedef和define的区别

    typedef是编译的一部分,typedef是一个别名,因此具有类型检查的功能。

    define是预编译的一部分,发生在编译之前,仅仅是进行简单的字符串的替换,没有类型检查的功能。另外define可以实现函数的功能,但是typedef不行。

    在定义指针的时候,用define要注意

    #define PCHAR char*
    typedef char* pchar;
    
    PCHAR a,b;
    pchar c,d; 

    这个时候a是指针,但是b就是一个char类型,同时c和d都是指针类型。

    用宏的好处是更加的灵活,比如可以定义unsinged PCHAR a;是可以的,但是unsinged pchar a;是不对的。

    5、有些旧的代码是这样写的,要在结构提之前加入struct。

    struct aaa
    {
        
    };
    
    struct aaa a;

    为了避免麻烦,可以这样写;

    typdef struct AAA
    {
    }aaa;
    
    aaa a;

    这样就不用struct了,当然这种情况在现在的编译器中已经不存在了。

    6、

    const int a;
    int const b;
    const char* p1;
    char* const p2;
    const char* const p3;

    a和b是一样的,p1是内容是常量,不能更改,p2是指针指向的地址是常量不能更改,p3都不能更改。注意char const * p 和const char *p 是一样的。

  • 相关阅读:
    MATLAB 2019a 安装包及安装教程
    三角形最大周长
    两数的和
    “精致”的数
    总分最高的学生姓名和各科成绩
    列表元素改写
    统计单词个数
    凯撒密码
    Django入门学习--配置路由(urls)
    Django入门学习--熟悉配置信息
  • 原文地址:https://www.cnblogs.com/HighFun/p/2738014.html
Copyright © 2011-2022 走看看