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

C语言---指针

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

C语言---指针

理解指针就必须理解内存。

可以把内存想象成一个大走廊,走廊里面有很多的房间,每个房间都有一个编号,每个房间的大小就是一个字节。从0开始依次递增,这个编号就称为“地址”.由于内存中的房间很多,编号可能是一个非常大的数字~~~采用十六进制。

创建一个变量,用这个变量来保存一个内存的地址。这样的变量就称为“指针变量”。所谓的指针,其实就是一个变量,变量里面存了一个整数,这个整数的值就表示内存的一个地址。

这些不同类型的指针,虽然类型不同,但是存在一些共性的东西。

1.大家里面保存的都是地址。

2.这些不同类型的指针变量,自身占据的内存大小是一样的。(在同一个系统上,指针变量自身占据的内存大小都相同)在32位系统上,指针就是4个字节。在64位系统上,指针就是8个字节。

   int num = 10;
    //p就是一个指针变量
    int* p = #
    //*p就是解引用操作,间接访问操作
    //根据指针变量中存的地址,找到对应的内存的内容。
    printf("%dn", *p);

int num = 10;
    //p就是一个指针变量
    int* p = #
    *p = 20;
    printf("%dn", num);
    //当前所描的指针类型的解引用操作其实就等价于访问到原来的变量。

int*和double*不同在哪里?

提到一个指针变量,其实涉及到两个方面的核心信息~~~

1.地址在哪(指针变量的值)

2.内存的大小是多少(指针的类型)。

*p就是解引用操作,间接访问操作,根据指针变量中存的地址,找到对应的内存的内容空间。再根据指针的类型,来确定从这个起始位置开始,读取多少个字节过来。

在指针中,特殊的类型,这个类型的指针,只包含了地址,不包含大小信息 void*。因此无法对void进行解引用。

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

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

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