栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言第十四天

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言第十四天

指针

地址如同房间编号, 根据这个编号我们可以找到对应的房间

内存单元如同房间, 房间是专门用于存储数据的

在计算机中所有数据都存储在内存单元中,而每个内存单元都有一个对应的地址, 只要通过这个地址就能找到对应单元中存储的数据.

由于通过地址能找到所需的变量单元,所以我们说该地址指向了该变量单元。将地址形象化的称为“指针”

内存单元的指针(地址)和内存单元的内容是两个不同的概念。

开辟一块空间专门用来存储变量, 这种专门用于存储其它变量地址的变量, 我们称之为指针变量

指针和指针类型

指针变量的定义包括两个内容:

指针类型说明,即定义变量为一个指针变量;

指针变量名;

指针变量初始化的方法有两种:定义的同时进行初始化和先定义后初始化

把指针初始化为NULL

多个指针变量可以指向同一个地址

指针的指向是可以改变的

指针没有初始化里面是一个垃圾值,这时候我们这是一个野指针

C语言中提供了地址运算符&来表示变量的地址。其一般形式为:

&变量名;

C语言中提供了*来定义指针变量和访问指针变量指向的内存存储空间

在定义变量的时候 * 是一个类型说明符,说明定义的这个变量是一个指针变量

在不是定义变量的时候 *是一个操作符,代表访问指针所指向存储空间

如果一个指针变量存放的又是另一个指针变量的地址,则称这个指针变量为“二级指针”

数组指针

一个变量有地址,一个数组包含若干元素,每个数组元素也有相应的地址, 指针变量也可以保存数组元素的地址

只要一个指针变量保存了数组元素的地址, 我们就称之为数组元素指针

数组名a不代表整个数组,只代表数组首元素的地址

数组名自带指针

在指针指向数组元素时,允许以下运算:

加一个整数(用+或+=),如p+1

减一个整数(用-或-=),如p-1

自加运算,如p++,++p

自减运算,如p–,--p

如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素,p-1指向同 一数组中的上一个元素。

数组名保存的是数组第0个元素的地址, 指针也可以保存第0个元素的地址

指向函数指针

函数名就代表着函数的地址

返回值类型 (*指针变量名)(形参1, 形参2, ...);

由于这类指针变量存储的是一个函数的入口地址,所以对它们作加减运算(比如p++)是无意义的

函数调用中"(指针变量名)"的两边的括号不可少

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291015.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号