zoukankan      html  css  js  c++  java
  • 指针的初始化

    对指针进行初始化或赋值只能使用以下四种的值:

    1、0值常量表达式,例如,在编译时可获得0值的整型const对象或者字面值常量0

    2、类型匹配的对象的指针。

    3、另一对象末的下一个地址

    4、同类型的另一个有效指针

    把int型变量赋给指针是非法的,尽管此int型变量的值可能为0。但允许把数值0或在编译时可获得0值的const量赋给指针。

    int ival;
    int zero = 0;
    const int c_ival = 0;
    int *pi = ival // error:pi initialized from int value of ival
    pi = zero; //error:pi assigned int value of zero
    pi = c_ival; // ok:c_ival is the const with complie-time value of 0 
    pi = 0;//ok
    

     除了使用数值0或在编译时为0值的const量外,还可以使用C++语言从C语言中继承下来的预处理器变量为NULL,该变量在cstdlib头文件中定义,其值为0。如果代码中使用这个预处理器变量,则编译时会自动被0给替换。因此把指针初始化为NULL与初始化为0是等效的

  • 相关阅读:
    Bacula Plugins
    getopt、getopt_long命令参数
    Notepad++ 快捷键
    make命令
    Linux目录结构
    rhel安装输入法
    libtool编译
    install和cp
    dlopen动态链接库操作
    结构体赋值
  • 原文地址:https://www.cnblogs.com/study-programmer/p/3421380.html
Copyright © 2011-2022 走看看