首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

小朋友学C++(45):指针与数组的关系

分析: 在这个例子里,a既是数组名称,也代表指向第一个元素的指针。 a + 0 = a表示第一个元素a[0]的地址,a + 1表示第二个元素a[1]所在的地址。a + 2表示第三个元素a[2]的地址。(a + 0) = a[0],(a + 1) = a[1],*(a + 2) = a[2]。 注意,这里a + 1不是表示a的地址直接加1,而是表示下一个元素的地址,即a指向的地址 + 1 * sizeof(元素类型)。 假设a[0]的地址为0x00000020,则 a = 0x00000020; a + 1 = 0x00000020 + 1 * 4 = 0x00000024; a + 2 = 0x00000020 + 2 * 4 = 0x00000028。 这里之所以要乘以4,是因为每个整型数据占4个字节的内存。如果是字符型数组,那么应该乘以1,如果是double型数组,那么应该乘以8。

03

c语言基础学习08_关于内存管理的复习

============================================================================= 对于c语言来讲,内存管理是一个很重要的内容,它与指针是息息相关的,因为内存的管理都是通过指针来实现的。 ----------------------------------------------------------------------------- 如果一个变量,它处在所有的代码块之外,那么它的生命周期就是和整个程序是一起的,程序启动的时候它就出现了,程序退出时,它才终止。 如果一个变量,它处在代码块之内,那么这个代码块执行的时候它才出现,代码块执行完成后,它才消失。 ----------------------------------------------------------------------------- auto int i = 0; auto变量(自动变量)是在内存的栈里面,它是一个临时的变量,只有执行代码块的时候,它才会入栈,代码块执行完后,它才出栈。

01
领券