C指针 (ノ゚▽゚)ノ
因为最近在学C指针,所以呢在这里写一个小总结.
希望对你有一点帮助!
C指针有几种:
1.指针 2.空指针 3.void指针 4.const指针常量
先来讲讲指针的概述,
指针变量的语法:
数据类型 *变量名 或者 数据类型 *变量名 == 初始值
前一个只是定义了一个 数据类型 的指针,后一个是定义了一个 数据类型 的指针 且 赋了初始值
指针变量存储的是其他变量的地址.
在C语言中,提供有两种指针运算符. " * "间接运算符, " & "取地址符
先来个简单的例子了解一下:
程序的运行结果如下:
在这里我们发现: a变量的地址 == p变量的值 即 &a==p
*p==a变量的值
到这里应该清楚" * "和" & "的意思了吧!
简单来讲 *p 就是指针所指向的对象
&a就是存放 a变量的地址
空指针:
在指针定义时,如果没有初始化,那么指针所指向对象是未定义的,也就是说该指针可能会指向一块没有权限访问的内存.程序就无法正常运行.
所以,我们像这样把指针初始化.
空指针就是值为 NULL的指针.
但是因为 空指针的值为NULL,所以不能把他作为值赋给其他变量.
void指针:
顾名思义,指向 void的指针 就叫 void指针.表示的是未确定类型的指针.
因为是void类型,所以void指针又称为万能指针,意思就是可以转换为任意类型的指针进行使用
const常量指针:
就是以const修饰的指针,具体有以下几种:
1.常量指针 2.常量指针变量 3.指针常量
常量指针:
语法:
const int *p;
常量指针变量:
语法:
int * const p;
指针常量:
语法:
const int * const p;
首先常量是不可更改的
所以呢剖开理解看看
常量指针就是把 int *p 定义为常量 ,所以*p不能改变,即 不能通过 *p 改变指针所指向的对象.
常量指针变量就是把 p 定义为常量,所以 p不能改变,即 不能改变指针所指向的对象.
至于指针常量,就是上两个的结合体,既不能通过 *p 改变指针所指向的对象,也不能改变指针所指向的对象.
Over!
第(1)次修改