C++指針數組的使用例子
// 0220.cpp : 定義控制臺應用程序的入口點(diǎn)。
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int arr[]={1,2,3,4,54};
//第一種
for(int i=0;i<5;i++)
{
printf("%d ",arr[i]);
}
printf("");
//第二種
for(int i=0;i<5;i++)
{
printf("%d ",*(arr+i));//不可用i++
}
printf("");
//第三種
int *p1=&arr[0];
for(int i=0;i<5;i++)
{
printf("%d ",*p1);
p1++;
}
printf("");
//第四種
int *p2=&arr[0];
for(int i=0;i<5;i++)
{
printf("%d ",*(p2+i));
}
printf("");
//第五種
int *p22=arr;
for(int i=0;i<5;i++)
{
printf("%d ",p22[i]); //指針可以當作數組來(lái)操作
}
//第六種;通過(guò)指針復制不同類(lèi)型的數組
printf("");
char arr1[]={255,255,255,254, 255,255,255,255};
int arr2[]={1,1};
int *p3=(int*)arr1;//把arr1強制轉換成int型使arr1指針偏移與arr2一致以便通過(guò)指針復制數值
int *p4=arr2; //這個(gè)強制類(lèi)型轉換實(shí)質(zhì)就是為了同步兩個(gè)數組的偏移量?。。?!
for(int i=0;i<2;i++)
{
*(p4+i)=*(p3+i);
}
for(int i=0;i<2;i++)
{
printf("%x",*(p4+i));
}
printf("");
return 0;
}
評論