什么是指针?

指针

什么是指针?

一般把内存中的一个字节称为一个内存单元,为了正确的访问这些单元,必须为每个单元编上号。根据一个内存单元的编号即可准确的找到该内存单元。内存单元的编号也叫地址,通常也把这个地址称为指针

我们把用来存放变量地址的变量称为指针

指针变量定义语法
数据类型 *指针变量名
注意
1.数据类型为c语言支持的所有数据类型
2.指针变量名需要遵循C语言的命名规则

举例

int *p;
char* p2;

指针变量的值代表这个指针指向了以这个值为首地址的那块内存空间

注意事项

通常在定义指针变量时建议将初始值设为NULL,也称为空指针,这样可以有效防止指针变量变成野指针,使用*访问空指针指向的内存空间程序会报错,NULL指向的内存为0地址,通常用来存储代码段,然而代码段是只读的

数组的指针
  • 一个变量有一个地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。所谓数组的指针是指数组的起始地址

  • 数组名表示数组的首地址,因此数组名也是一种指针

  • 通过数组名访问数组中的元素

    int ch[]={1,2,3,4};
    //访问第三个元素
    ch[3]==4;
    //指针法
    *(ch + 3)
    //访问第n个元素
    *(ch+n) 注意数组不能越界
    
    二级指针
    • 用一个指针变量保存一个一级指针变量的地址,这个指针我们称之为二级指针

    • 二级指针的定义

      数据类型 **变量名
      

你可能感兴趣的:(C,c语言)