今天在写一个小程序的时候,我用数组名作为一个指针进行操作,结果出错了。原来数组名作为指针的话,是不能够进行操作的,例如++。
那个小程序是用来讲一个int类型的值,转化为一个bool类型的数组。
#include
using namespace std;
void int2bin(int var,bool *bin)
{
char temp = (unsigned char)var;
for(int i=0;i<6;i++)
{
bin[i] = temp & 0x01;
temp >>= 1;
}
}
int bin2int(bool bin[6])
{
int var = 0;
for(int i=0;i<6;i++)
var = 2*var + bin[5-i];
return var;
}
int main()
{
int num=0;
bool bin[6]={0};
// bool *temp = &bin[5];
cout<<"Enter a number: ";
cin>>num;
int2bin(num,bin);
for(int i=0;i<6;i++)
cout< // cout<<*(temp--)<<" ";
cout<
cout<
return 0;
}
如果是要使用数组指针的话,需要讲数组指针赋值给一个临时指针,这样才能够进行++操作。
阅读(1189) | 评论(0) | 转发(0) |