C/C++中指针与内存管理的示例分析(C++,开发技术)

时间:2024-04-28 15:59:02 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

指针和内存管理始终是C/C++比较容易模糊的知识点,但在C/C++编程中又绕不开的地方,特别在下位机上,会频繁的与指针打交道,如果概念模糊,一不小心就会写出冗余的代码,可能会引起多余内存开销或者直接影响运行速度。

一.指针

1.计算机内存主要分成这几个区,每个区又分成无数个字节(Byte),每个字节(Byte)都有唯一的编号,而这个编号就这个字节的指针地址。一般程序能读写的区域只有全局变量、堆区、栈区。下面是计算机内存的示意图:

C/C++中指针与内存管理的示例分析

每个字节(Byte)对应的编号地址就是指针地址:

C/C++中指针与内存管理的示例分析

在X86的系统上,每个字节(Byte)都由8位(bit)组成:

C/C++中指针与内存管理的示例分析

2.指针与变量

当定义一个变量的时候,比如 int a = 1025,在X86 系统下IDE会在栈中申请连续的4个字节(Byte)的大小用来存放这个数。如下图:

C/C++中指针与内存管理的示例分析

这个字节大小可以用sizeof(int)来查看。

C/C++中指针与内存管理的示例分析

那么对于int的变量来说,这个4个字节的编号地址就是这个变量的指针地址。

C/C++中指针与内存管理的示例分析

3.字节与bit

C/C++中指针与内存管理的示例分析

4.指向指针的指针,p存放的是x的指针地址,而t则存放的是p的地址。

C/C++中指针与内存管理的示例分析

5.堆中变量,在堆区中new了一块内存。

C/C++中指针与内存管理的示例分析

二.数组

1.一维数组

C/C++中指针与内存管理的示例分析

2.字符数组

C/C++中指针与内存管理的示例分析

3.二维数组

C/C++中指针与内存管理的示例分析

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:C/C++中指针与内存管理的示例分析的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:C语言中数组和指针,内存之间的关系是什么下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18