欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C指针 (ノ゚▽゚)ノ

程序员文章站 2022-03-10 11:46:01
因为最近在学C指针,所以呢在这里写一个小总结. 希望对你有一点帮助! C指针有几种: 1.指针 2.空指针 3.void指针 4.const指针常量 先来讲讲指针的概述, 指针变量的语法: 数据类型 *变量名 或者 数据类型 *变量名 == 初始值 前一个只是定义了一个 数据类型 的指针,后一个是定 ......

因为最近在学c指针,所以呢在这里写一个小总结.

希望对你有一点帮助!

c指针有几种:

1.指针    2.空指针    3.void指针    4.const指针常量

 

先来讲讲指针的概述,

  指针变量的语法:

    数据类型   *变量名        或者           数据类型   *变量名  ==  初始值

  前一个只是定义了一个 数据类型 的指针,后一个是定义了一个 数据类型 的指针 且 赋了初始值

  指针变量存储的是其他变量的地址.

  在c语言中,提供有两种指针运算符. " * "间接运算符,  "  &  "取地址符

先来个简单的例子了解一下:

C指针        (ノ゚▽゚)ノ

 

程序的运行结果如下:

C指针        (ノ゚▽゚)ノ

 

 

 在这里我们发现: a变量的地址 == p变量的值 即  &a==p

        *p==a变量的值

到这里应该清楚"  *  "和"  &  "的意思了吧!

简单来讲 *p 就是指针所指向的对象

     &a就是存放 a变量的地址

 

空指针:

在指针定义时,如果没有初始化,那么指针所指向对象是未定义的,也就是说该指针可能会指向一块没有权限访问的内存.程序就无法正常运行.

所以,我们像这样把指针初始化.

C指针        (ノ゚▽゚)ノ

 

 

 空指针就是值为 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)次修改