这篇文章主要介绍了C/C++中指针与内存管理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。指针和内存管理始终是C/c++比较容易模糊的知识点,但在C/C++编程中又
这篇文章主要介绍了C/C++中指针与内存管理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
指针和内存管理始终是C/c++比较容易模糊的知识点,但在C/C++编程中又绕不开的地方,特别在下位机上,会频繁的与指针打交道,如果概念模糊,一不小心就会写出冗余的代码,可能会引起多余内存开销或者直接影响运行速度。
计算机内存主要分成这几个区,每个区又分成无数个字节(Byte),每个字节(Byte)都有唯一的编号,而这个编号就这个字节的指针地址。一般程序能读写的区域只有全局变量、堆区、栈区。下面是计算机内存的示意图:
每个字节(Byte)对应的编号地址就是指针地址:
在X86的系统上,每个字节(Byte)都由8位(bit)组成:
指针与变量
当定义一个变量的时候,比如 int a = 1025,在X86 系统下IDE会在栈中申请连续的4个字节(Byte)的大小用来存放这个数。如下图:
这个字节大小可以用sizeof(int)来查看。
那么对于int的变量来说,这个4个字节的编号地址就是这个变量的指针地址。
字节与bit
指向指针的指针,p存放的是x的指针地址,而t则存放的是p的地址。
堆中变量,在堆区中new了一块内存。
一维数组
字符数组
二维数组
感谢你能够认真阅读完这篇文章,希望小编分享的“C/C++中指针与内存管理的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网其他教程频道,更多相关知识等着你来学习!
--结束END--
本文标题: C/C++中指针与内存管理的示例分析
本文链接: https://www.lsjlt.com/news/322074.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0