zoukankan      html  css  js  c++  java
  • L1--指针

    介绍

    指针是内存单元的 编号,地址就是指针。一句话通过指针和指针变量 可以在不同函数间接 对数据进行操作

    快速入门  

           int * p:p是变量名,p变量的数据类型是int * 类型,所谓int * 类型实际就是存放int变量地址的类型,不表示定义了一个名字叫*p的变量

           &i: & 取地址运算符,这里指取i 的地址

           *p:* 取地址变量所指向的实际地址里存放的数据

    #include <stdio.h>
    
    int main(void)
    {
        int * p;  //p是变量的名字,int * 表示p变量存放的是int类型变量的地址
                  //int * p:不表示定义了一个名字叫做*p的变量
                  //int * p:p是变量名,p变量的数据类型是int *类型,即int * 类型实际就是存放int变量地址的类型
        int i = 3;
        p = &i;
        /*
            1.p保存了i的地址,因此p指向i;;
            2.p不是i,i也不是p,更准确的说:修改p的值不影响i的值,修改i的值也不会影响p的值
                *+指针变量 就完全等同于 普通变量
        */
        printf("%d
    ", *p);
        return 0;
    }
    /*
    输出结果:
    3
    */

    内存图:

    指针的作用

    1. 表示一些复杂的数据结构;
    2. 快速的传递数据;
    3. 使函数返回一个以上的返回值;
    4. 能直接访问硬件;
    5. 能够方便的处理字符串;
    6. 是理解面向对象语言的基础。

    总结:指针是c语言的灵魂。

    指针的定义

    • 指针:指针就是地址,地址就是指针;指针变量就是存放地址的变量  
    • 地址:内存单元的编号
      • 从零开始的非负整数
      • 范围:4G  [0--(4G-1)](下面两图解释为什么地址范围是4G)

    cpu与内存条交互过程:

    cpu与内存条通过地址总线的交互过程图:

    指针的分类

    1. 1.基本类型的指针;
    2. 2.指针和数组;
    3. 3.指针和函数;
    4. 4.指针和结构体;
    5. 5.多级指针。
  • 相关阅读:
    oracle执行.sql文件
    rematch的基本用法
    dva的基本用法
    redux-saga基本用法
    react-redux的基本用法
    redux的基本概念
    mobx基本概念
    centos 编译安装Apache 2.4
    javascript动态添加一组input
    php配置文件语法
  • 原文地址:https://www.cnblogs.com/guDouMaoNing/p/4306656.html
Copyright © 2011-2022 走看看