c++ primer 3

寵の児 提交于 2020-01-04 05:48:17

1. p104

用new来分配内存

对于指针,new分配的内存块通常与常规变量声明分配的内存块不同。变量都存储在栈的内存区域,而new从被称为堆或自由存储区的内存区域分配内存。

用delete 释放内存(与new配对使用)

2. p105

使用动态数组

int *psome = new int[10];

释放

delete  [] psome;

double *p3 = new double[3];

p3 = p3 + 1;

不能修改数组名的值 , 但是指针是变量,因此可以修改它的值,加1以后,增加的量等于指向类型的字节数,它指向下一个元素的地址。

 

3.p109 指针小结

声明

double * pn;

赋值 :应将内存地址赋给指针,可以对变量名应用&运算符,来获得被命名的内存的地址,new运算符返回未命名的内存的地址。

对指针解除引用:获得指针指向的值,即*pn是指向的值。

使用方括号数组表示法等同于对指针解除引用  *(coats+4)  coats[4] 

 

4.问题p111-113

 

5.p114

使用new创建动态结构

infalatable *ps = new inflatable;

不能将成员运算符句点用于结构名,用箭头成员运算符 ->  eg:  ps->price

6.p117

自动存储 (自动变量)是一个局部变量。通常存储在栈中。

静态存储   两种方法,一种在函数外面定义, 一种在声明变量时使用static

动态存储  new delete

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!