C++开篇(四):指针数组与数组指针



1、指针数组与数组指针的区别?
1)指针数组:每个元素为一个指针
 //指针数组
 int* p_int_array[10];

2)数组指针:指向数组的指针
 //数组指针
 int(*int_array_p)[10];

【说明】:() > [] > *  ,根据这个规则,看第一优先的符号,比如指针数组,最大的是[],所以是数组; 数组指针,最大的是(),所以是指针。
 
 
2、什么情况下需要delete?
有new才会有delete,不是定义一个指针就需要delete!!!所以上面的申明不需要删除。
【eg】:
//指针数组
int* p_int_array[10];
//new
for (unsigned int i = 0; i < 10; ++i)
{
 p_int_array[i] = new int;
}
//delete
for (unsigned int i = 0; i < 10; ++i)
{
 if (nullptr != p_int_array[i])
 {
  delete p_int_array[i];
  p_int_array[i] = nullptr;
 }
}


//单个元素new以及delete
int* p_int_s = new int;
if (nullptr != p_int_s)
{
 delete p_int_s;
 p_int_s = nullptr;
}

//多个元素new以及delete
int* p_int_m = new int[10];
if (nullptr != p_int_m)
{
 delete[] p_int_m;
 p_int_m = nullptr;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值