C++指針數(shù)組的使用例子
// 0220.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(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]); //指針可以當(dāng)作數(shù)組來操作
}
//第六種;通過指針復(fù)制不同類型的數(shù)組
printf("");
char arr1[]={255,255,255,254, 255,255,255,255};
int arr2[]={1,1};
int *p3=(int*)arr1;//把a(bǔ)rr1強(qiáng)制轉(zhuǎn)換成int型使arr1指針偏移與arr2一致以便通過指針復(fù)制數(shù)值
int *p4=arr2; //這個(gè)強(qiáng)制類型轉(zhuǎn)換實(shí)質(zhì)就是為了同步兩個(gè)數(shù)組的偏移量?。。?!
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;
}
評(píng)論