zoukankan      html  css  js  c++  java
  • 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语言中的变量(本质为容器)

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

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

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

  • 相关阅读:
    BigPipe_高性能流水线页面技术
    高并发大流量网站 10 个解决方法
    崇高不是比惨
    utf-8无bom格式编码
    go.php
    微信+QQ跳转
    java 设计模式-单例
    HTML连载88-今天把努比亚界面仿真写完了(完结连载)
    Android连载10-动态添加页面、创建一个新闻app
    JavaScript连载9-三目运算符、综合复习
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/15116250.html
Copyright © 2011-2022 走看看