• 指针变量概念


    指针又叫地址。

    类型名  *指针变量    int  *a;指针变量前面的*表示该变量的类型是指针型变量,指针变量名是a,而不是*a

    指针变量:就是一个其值为另一个内存地址的变量(指针是修饰语);

    条件语句表达式*a产生的结果类型是int,知道了*操作符执行的是间接访问操作以后,我们可以推断a肯定是一个指向int的指针。

    int  *a;
    

    警告:

    C在本质上是一种自由形式的语言,这很容易诱使你把星号写在靠近类型的一侧,如下所示

    int*  a;
    

    这个声明与前面一个声明有相同的意思,而且看上去更为清楚,a被声明为类型是int*的指针。但是这并不是一个好技巧,原因如下:

    int*  b, c, d;
    

    人们很自然的以为这条语句把所有三个变量声明为指向整型的指针,但事实并非如此。我们被它的形式愚弄了,星号实际上是表达式*b的一部分,只对这个标识符有用。b是一个指针,但其余两个变量只是普通的整型。要声明三个指针,正确的语句如下:

    int  *b, *c, *d;
    

         

    在声明指针变量时,你也可以为它指定初始值。这里有一个例子,它声明了一个指针,并用一个字符串常量对其进行初始化;

    char  *message="Hello world";
    

    这条语句把message声明为一个指向字符的指针,并用字符串常量中第一个字符的地址对该指针进行初始化。

    警告:

    这种类型的声明所面临的一个危险是你容易误解它的意思。在前面一个声明中,看上去初始值似乎是赋给表达式*message,事实上它是赋给message本身的。换句话说,前面一个声明相当于:

    char  *message;
    message="Hello world";
    

      

      

  • 相关阅读:
    软件设计师 -算法设计与分析
    windows下git使用
    SourceTree免注册并连码云
    软件设计师-软件工程基础知识
    基本约瑟夫环问题详解
    SGU180(树状数组,逆序对,离散)
    POJ(1195)(单点修改,区间查询)(二维)
    C++ bitset
    冯志远0920
    怎样学好哲学(lucas+费马小定理)
  • 原文地址:https://www.cnblogs.com/prayer521/p/5595886.html
Copyright © 2020-2023  润新知