C语言-指针

 

指针是C语言中的变量数组

-由于是变量,因此用于保存具体值ide

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

-内存地址是什么?指针

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

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

 

程序中的一切元素都存在于内存中,所以,可经过内存地址访问程序元素。it

 

 

获取地址io

-C语言中经过&操做符获取程序元素的地址class

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

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

#include <stdio.h>

int main()
{
    int var = 0;

    printf("var = %d\n", var);
    printf("&var = %p\n", &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\n", var);
    printf("1. pVar = %p\n", pVar);

    pVar = &var;

    *pVar = 100;

    printf("2. var = %d\n", var);
    printf("2. pVar = %p\n", pVar);

    return 0;
}

 

 

 

 

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

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

可以使用*操做符经过指针访问程序元素自己

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

相关文章
相关标签/搜索