您的位置:首页 > 其它

数组遍历技巧

2013-07-26 09:15 169 查看
假设一个int 类型大小为 5 的 a 指针;

int *a;

a = (int *)malloc(5 * sizeof(int));

我们要计算相邻两个点的距离:

可以写成

float *distance;

distance = (float *)malloc(5 * sizeof(float));

for(int i = 0; i < 4; i++)

{

distance[i] = a[i+1] - a[i];

}

distance[4] = a[0]-a[4];

以上这种方法遍历以外需要多最后一步。

可以考虑将指针的容量加1,则通过遍历即可实现:

int *a;

a = (int *)malloc(6 * sizeof(int));

float *distance;

distance = (float *)malloc(5 * sizeof(float));

a[5]=a[0];

for(int i = 0; i < 5; i++)

{

distance[i] = a[i+1] - a[i];

}

这样直接遍历即可得出所有值;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: