zoukankan      html  css  js  c++  java
  • 指针变量概念

    指针又叫地址。

    类型名  *指针变量    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";
    

      

      

  • 相关阅读:
    阿里云服务器,http免费转https详细教程
    springboot系列总结(二)---springboot的常用注解
    springboot系列总结(一)---初识springboot
    java 查询当天0点0分0秒
    mysql各个版本驱动jar包下载 mysql/mysql-connector-java/5.1.22
    泰坦尼克 学习
    切片
    忽略warning 警告
    迭代 递归 循环 遍历
    标准化 归一化
  • 原文地址:https://www.cnblogs.com/prayer521/p/5595886.html
Copyright © 2011-2022 走看看