指针

作者: qianranow | 来源:发表于2018-04-24 08:33 被阅读32次

0. 概念


  • 理解:专门用来 保存地址 的,占用 8 个字节
    int main() {
      int a = 10;
      int *ap = &a;
      printf("%p\n", &a);
      printf("%p\n", ap);
      return 0;
    }
    

1. 定义


  • 形式
    格式:数据类型 *变量名称
    1. 数据类型:用来说明指针变量能够保存 什么类型的变量 的地址;
               当用指针去取值的时候,系统会自动根据指针的类型来确定应该取多少个字节中的值
    2. *:没有任何特殊含义,仅仅是为了标示这是一个指针变量
    3. 变量名称:用于区分不同的变量
    
    int num = 10;
    // 将 num 的地址存储到 p 这个指针中
    int *p = #
    printf("%p\n", &num);
    printf("%p\n", p);
    // 指针变量前的 * 号代表访问指针变量指向的那一块存储空间
    *p = 55;
    printf("num = %i\n", num);
    
  • 多级指针
    1. 定义
       (1) 拷贝需要指向的变量的数据类型和变量名称
       (2) 在数据类型和变量名称之间加上一颗星
       (3) 修改变量名称
    2. 访问
       通过几颗星来定义,就通过几颗星来访问
    3. 作用
       用指针来保存指向其它变量的指针的地址
    
    char c = 'a';
    char *cp = &c;
    char **cpp = &cp;
    char ***cppp = &cpp;  
    printf("%c\n", c);
    printf("%c\n", *cp);
    printf("%c\n", **cpp);
    printf("%c\n", ***cppp);
    

2. 作用


  • 方式:可以通过 指针访问 地址,进行 相关操作

指针.png

3. 注意


  • 不要访问野指针,可以赋值为 NULL
  • 指针只能保存地址
  • 指针的指向可以修改
    int a = 66;
    int b = 88;
    // p 保存 变量 a 地址
    int *p = &a;
    *p = 88;
    // p 保存 变量 b 地址
    p = &b;
    *p = 66;
    printf("%i\n", a);
    printf("%i\n", b);
    
  • 同一个变量可以有 多个指针 指向
    int num = 10;
    int *p = #
    *p = 66;
    int *pOne = p;
    *pOne = 88;
    printf("%i\n", num);
    
  • 指针类型是什么类型,就只能指向什么类型的变量
    int num = 10;
    char charValue = 'l';
    double doubleValue = 9.9;
    int *p = #
    char *pOne = &charValue;
    double *pTwo = &doubleValue;
    

相关文章

  • 混淆知识点

    1、指针数组&数组指针、常量指针&指针常量、函数指针&指针函数 数组指针&指针数组 数组指针的定义 int (*p...

  • C语言

    C 指针、指针变量、函数指针、指针函数、指针数组、数组指针、C 数组

  • 指针

    普通指针指针的指针 数组指针 函数指针

  • 函数指针

    概念: 指针函数, 函数指针, 指针数组, 数组指针, 指向数组的指针, 指向函数指针数组的指针。

  • C:函数指针的坑

    关于该死的函数指针和指针函数 先来个目录 常量指针、指针常量 数组指针、指针数组 函数指针、指针函数 1、先看第一...

  • C 语言指针

    指针类型:指针的读取长度,指针的读取方向(大小端) 空指针,无类型指针,野指针 常量指针,指向常量的指针 http...

  • 二、C语言基础

    A、指针 指针的概念:指针变量 和 指针 的区别 ?答:指针变量是指针的标记,也可以通过指针变量的标记操作指针内存...

  • 王道程序员求职宝典(十一)指针与引用,树

    指针与引用 指针声明typedef别名类型检查void*指针指向指针的指针函数指针typedef简化函数指针定义初...

  • NDK02

    指针 指针概念 1 .指针变量和指针的区别?答: 指针变量是定义指针的标记,指针就是指向的内存地址。2 .函数指针...

  • 12 C指针

    1、指针定义 2、指针进阶 3、指针使用 4、多级指针 4、指针和数组 5、指针和字符串 6、高级指针之和指向函数的指针

网友评论

      本文标题:指针

      本文链接:https://www.haomeiwen.com/subject/nurdlftx.html