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

如何理解C语言指针-初步认识(小白向)

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

如何理解C语言指针-初步认识(小白向)

想要理解指针 ,就要先了解内存 内存是什么?

``内存是电脑上重要的存储器,程序都是在内存中运行的
为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元大小是一个字节,为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址
我们的电脑是有内存和硬盘的,比方说

那么这么大的内存如何划分给程序使用呢?

我们这里把内存划分成为一个小格子

我们在这里给每个小格子一个编号,这里的编号就是内存的地址,也就是说编号就是地址

那么如何使用呢?

这里就牵扯到俩个操作符 &取地址符和*解引用操作符

先创建一个变量

我们这里按下F10

(如果按下F10没有出现监视和内存窗口的话可以在最上面 调试->窗口中打开)
地址是一个0x开头的序列(16进制)
我们这里可以看到变量a占用了4个字节,每一个字节都有一个地址,&a拿到的是第一个字节的地址
从这里可以看到,我们在变量中不管占多少字节 &a 拿到的都是第一个地址

创建一个变量来储存地址


这里的b就是一个指针变量,下面让我们来详细了解一下

*说明 b是指针变量

int* 是一个类型 一个整型指针类型 int说明b指向的对象是int类型
`

*b = 20;//*号是解引用操作*b就是通过b中存放的地址指向a的空间  这里等同于a=20
指针变量的大小?
int main()
{
	printf("%dn",sizeof(char*));
	printf("%dn",sizeof(int*));
	printf("%dn",sizeof(short*));
	printf("%dn",sizeof(double*));
}


(sizeof计算的结果是无符号的整数,可以使用对应的格式&zu)
指针变量的大小取决于地址的大小
32位平台下地址是32bit位(4个字节)
64位平台下地址是64bit位(8个字节)

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

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

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