首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

容易指针的例子

2012-12-28 
简单指针的例子#include iostream.hconst int SIZE 4int main(){int a1[SIZE] {1,2,3,4}int *ptr

简单指针的例子
#include <iostream.h>
const int SIZE = 4;
int main()
{
int a1[SIZE] = {1,2,3,4};

int *ptr = a1; // int *ptr = &a1[0];

cout << "before ptr' memory : " << ptr << endl;
for (int index=0; index < SIZE; index++)
{
cout << *ptr++ << endl
}
cout << "after ptr' memory : " << ptr << endl;
return 0;
}
结论:
*(ptr++) 和 *ptr++是一样的结果,即先取ptr的值,在把ptr往下移1;
*(++ptr) 和 *++ptr是一样的结果,即先把ptr往下移1,在取ptr的值;
a1 + 1 和 &[a1]是一样的效果,都是取得第二个元素的地址;

利用指针累加数组:
#include <iostream.h>
const int SIZE = 4;
int sump(int *, int*);
int main()
{
//调用sump方法累加数据
int ar[SIZE] = {10, 20, 30, 40};
int sum = sump(ar, ar+SIZE);
cout << "sum = " << sum << endl;

return 0;
}

int sump(int *start, int *end)
{
int total = 0;
while (start < end)
{
total += *start;
start++;
//相当于 total += *start++;
}
return total;
}

热点排行