如题所述
最为简单的方法是把指针作为数组,使用下标方法直接删除。
如:
char arr[] = "abcdef";
char *p = arr;
p[2] = 0;//删除第三个元素数据
如:
char arr[] = "abcdef";
char *p = arr;
p[2] = 0;//删除第三个元素数据
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-11-17
将被删元素后的数据前移即可。
感觉做这样的操作,使用标准模板库中的容器比较好一些。追问
//do sth here to stuff iArry;
//delete element 64 in iArry;
for(int i = 63; i < 100; i++)
{
iArry[i] = iArry[i + 1];
}
感觉做这样的操作,使用标准模板库中的容器比较好一些。追问
有具体的代码吗?
追答int iArry[100] = { 0 };//do sth here to stuff iArry;
//delete element 64 in iArry;
for(int i = 63; i < 100; i++)
{
iArry[i] = iArry[i + 1];
}
上面就是把一个100元素的整型数组的第64个元素删除掉。 随手写的,不知道有没有错误
追问指针数组不是数组呀。。。。
追答唉,指针数组不还是数组吗??
重新给你写一个吧!int* pArry[100] = { 0 };
//do sth here to stuff pArry;
//delete element 64 in pArry;
//这里需要处理pArry[63]的话,提前处理,比如分配内存的回收之类。
for(int i = 63; i < 100; i++)
{
pArry[i] = pArry[i + 1];
}
本回答被网友采纳
第2个回答 2019-04-25
p是指向有3个int*型元素的指针,也可以说p代表一维数组,p=a就是把a指针放到p数组的第一个位置,因此p[1]是指a,那么c选项就是访问a的第一个元素