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

      

  • 相关阅读:
    VUE初始化
    Flask基础
    算法面试题整理
    python基础数据类型整理
    Cookies 和 Session
    Django 第一天
    初入社会八个月总结
    CSS常用选择器
    分享一点漂亮的扁平化网页
    几个漂亮的网页设计
  • 原文地址:https://www.cnblogs.com/wudeyun/p/13699325.html
Copyright © 2011-2022 走看看