#include #include using namespace std; int main() { // 申请一块存放double值的内存块 double pi = 3.14; // 指针变量,保存double类型的地址变量;pp值的类型为double * double *pp; // 取地址运算符&用来获取 pi 变量的地址;pp 和 *pi 都是double *类型 pp = π // 解引用运算符*用来获取指针变量指向的变量 *pp = 6.66; cout << "*pp = " << *pp << " pi = " << pi << endl; cout << "Input a number: "; cin >> *pp; // 输入的变量pp指向double内存块的值 cout << "*pp = " << *pp << " pi = " << pi << endl; // new 用来分配容量为 double 值的内存块,并返回改内存块的地址,类型为 double *;该地址被保存在pp中,pp指向新内存块,该内存块的值是未知的 // new 对 double 类型的元素调用 double 的构造函数做初始化 pp = new double; // 初始化 *pp = 3.14; cout << "Input a number: "; cin >> *pp; // 输入的变量pp指向double内存块的值 cout << "*pp = " << *pp << endl; // delete 释放动态分配的内存空间 delete pp; // new 分配可以存放5个double值的内存空间,返回该连续内存空间的起始地址,且指针类型是double *(即第一个double元素的地址);new 是队每个double元素调用double类型的构造函数初始化 pp = new double[5]; pp[0] = 3.14; pp[1] = pp[0] * 2; cout << pp[0] << ", " << pp[1] << endl; // delete 释放指向多个double类型的动态分配的内存空间;为每个double类型的元素调用double的析构函数释放内存;不指定 [] 时,仅释放第一个 double 的内存空间 delete[] pp; int l = 5; // new 分配指定(随机)大小的double类型元素 pp = new double[l]; for(int i=0; i