`
abc20899
  • 浏览: 910722 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

指针数组

 
阅读更多
#include<iostream.h>
using namespace std;

int main(){
	const int ArrayLenght = 5;  // 必须定义成 const类型  不然会报错
    int arr[ArrayLenght] = {0,10,20,30,40};
    int *pArray = arr;
    for(int i=0; i<ArrayLenght; i++){
    	cout <<"Element["<<i<<"] is:"<<*(pArray+i)<<endl;  //通过指针引用 取得数组元素的值  *(pArray+i)
    }

    int oneNumber[500]; //声明 500 个 int对象的数组
    int *twoNumber[500]; //500个 int指针的数组
    int *threeNumber = new int[500];//500个 int对象的数组

    //指针用途 1。管理自由存储区中的数据   2。访问类的成员和数据  3。按引用传递参数

    //在自由存储区内 使用关键字new 分配内存 注意不会被自动释放
    unsigned short int *pTer;
    pTer = new unsigned short int;
    // 为了防止 内存泄露  使用delete关键字归还内存,只是把内存归还给了子偶存储区,到那时该指针仍然能存在,可以重新给它赋值
    //注意: 将delete用于指针时,它指向的内存将被释放,如果再次对该指针使用delete,程序将崩溃,因此,删除该指针时,将其值设置0;

    //最常见情况在构造函数中 从堆中分配内存,在析构函数中 释放这些内存
    delete pTer;
	return 0;
}

/**
 *  Element[0] is:0
	Element[1] is:10
	Element[2] is:20
	Element[3] is:30
	Element[4] is:40
 *
 * */
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics