• C语言-指针


    指针是C语言中的变量

    -因为是变量,所以用于保存具体值

    -特殊之处,指针保存的值是内存中的地址

    -内存地址是什么?

    内存是计算机中的存储部件,每个存储单元有固定唯一的编号

    内存中存储单元的编号即内存地址

    程序中的一切元素都存在于内存中,因此,可通过内存地址访问程序元素。

    获取地址

    -C语言中通过&操作符获取程序元素的地址

    -&可获取变量,数组,函数的起始地址

    -内存地址的本质是一个无符号整数(4字节或8字节) 32位与64位

    #include <stdio.h>
    
    int main()
    {
        int var = 0;
    
        printf("var = %d
    ", var);
        printf("&var = %p
    ", &var);//取变量的地址
    
        return 0;
    }

    打印了4个字节

    指针定义语法:type *pointer

    -type - 数据类型,决定访问内存时的长度范围

    -* -标志,意味着定义一个指针变量

    -pointer -变量名,遵循C语言命名规则

    #include <stdio.h>
    
    int main()
    {
        char *pChar;     1字节
        short *pShort;   2字节
        int *pInt;       4字节
        float *pFloat;   
        double *pDouble; 8字节
    
        return 0;
    }

    指针内存访问:*pointer  访问操作符,访问内存中的数据

    -指针访问操作符(*)作用于指针变量即可访问内存数据

    -指针的类型决定通过地址访问内存时的长度范围

    -指针的类型统一占用4字节或8字节

    即:sizeof(type*)==4 或 sizeof(type*)==8

    指针程序示例

    #include <stdio.h>
    
    int main()
    {
        int var = 0;
        int *pVar = NULL;
    
        printf("1. var = %d
    ", var);
        printf("1. pVar = %p
    ", pVar);
    
        pVar = &var;
    
        *pVar = 100;
    
        printf("2. var = %d
    ", var);
        printf("2. pVar = %p
    ", pVar);
    
        return 0;
    }

     

    指针是C语言中的变量(本质为容器)

    指针专用于保存程序元素的内存地址

    可使用*操作符通过指针访问程序元素本身

    指针也有类型,指针类型由数据类型+ * 构成

  • 相关阅读:
    POJ 1797 Heavy Transportation (Dijkstra算法变形)
    HDU 2883 kebab (最大流)
    HDU 3338 Kakuro Extension (最大流)
    简单的敏捷工具更受敏捷开发团队青睐
    让敏捷工具在敏捷开发中发挥高效作用
    看板工具和Scrum工具选择之惑!
    敏捷开发如何在创业公司实施
    八个垂手可得的Scrum敏捷开发工具
    那些我们常用的scrum工具、敏捷开发工具
    Scrum/Sprint敏捷开发方法.
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/15116250.html
Copyright © 2020-2023  润新知