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)次修改

posted @ 2020-04-21 15:32  Your_path  阅读(283)  评论(0编辑  收藏  举报