zoukankan      html  css  js  c++  java
  • 指针本质是什么

    1.指针是一个概念,整形指针、字符指针、浮点指针是指针的具体实现

    2. 指针变量是一个变量,是整形、字符、浮点等类型指针的统称,所占字节由编译器决定

    3.变量有各种类型,如整形常量,整形变量;字符型常量,字符型变量。并且有相应的指针

    类型,那指针常量是什么呢? 首先,指针不是地址切记指针不是地址指针的本质

    地址加偏移量,指针是复合类型,不是基本类型,它是由地址和类型共同决定的,并且这个

    常量不是由程序员直接决定的而是由编译器决定的,这跟通常意义上的常量是不同的。

    4. 编译器支持所有类型指针互转,隐式转换。编译器完全有能力处理这种隐式转换。

    #include <stdio.h>
    
    int main() {
      typedef struct A {
        int a;
        float b;
      } *AP;
    
    
      struct A a = {2, 2.0};  // 定义结构体变量
      AP ap = &a;  // 定义结构体指针
      int *p = ap;  // 结构体指针转整形指针,隐式转换 
      float *q = p;  // 整形指针转浮点型指针,隐式转换
    
      printf("A.a = %d
    A.b = %f
    ", ap->a, ap->b);
      printf("p = ox%x
    *p = %d
    *p+1=%f
    ", p, (*p), *(p+1));
      printf("*(q+1)=%f
    ", *(q+1));
      return 0;
    }

    输出:

    A.a = 2
    A.b = 2.000000
    
    p = ox65fe00
    *p = 2
    *(p+1)=0.000000
    *(q+1)=2.000000

      

  • 相关阅读:
    hive函数总结
    python判断文件和目录是否存在
    python中的参数
    写hive db的两种方法
    python中argparse模块的使用
    python数据持久存储:pickle模块的使用
    python读文件
    mysql 将时间戳直接转换成日期时间
    shell日期的应用
    [转]SQL UNION 和 UNION ALL 操作符
  • 原文地址:https://www.cnblogs.com/wudeyun/p/13699325.html
Copyright © 2011-2022 走看看