Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5707825
  • 博文数量: 675
  • 博客积分: 20301
  • 博客等级: 上将
  • 技术积分: 7671
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-31 16:15
文章分类

全部博文(675)

文章存档

2012年(1)

2011年(20)

2010年(14)

2009年(63)

2008年(118)

2007年(141)

2006年(318)

分类: C/C++

2006-10-26 18:11:12

今天在写一个小程序的时候,我用数组名作为一个指针进行操作,结果出错了。原来数组名作为指针的话,是不能够进行操作的,例如++。

那个小程序是用来讲一个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;
}

如果是要使用数组指针的话,需要讲数组指针赋值给一个临时指针,这样才能够进行++操作。
阅读(1163) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~