关于指针数组那点事

谈起指针数组,对于初学者而言是懵懂的
从字面意思上看,指针数组,即为存储指针的数组
过去我们知道,指针代表的是地址,而数组代表的是值或者字符(串)

我们常常做这样的操作
int *p;
int a[7];
p=&a[3];
这样区别了数值和地址,久而久之,初学者可能会形成一种错觉,或者说是惯性思维,若要对一个指针进行复制,一定会在指针前加星号,或者在数组单元前加取地址符&

但是对于指针数组而言,由于数组中存储的是指针,所以,其值就是地址
所以,在对中间变量指针赋值时,不应该添加其他的操作符号

例如当我们想利用temp做中间变量时我们就应该进行下列操作;
int i,j;
int N=10
char* temp;
char* pst[N];
for(i=0;i<N;i++)
{
for(j=n+1;j<N;j++)
{
if(strcmp(pst[i],pst[j])>0)
{
temp=pst[j];
pst[j]=pst[i];
pst[i]=temp;
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值