指针&将char数组转换为int

时间:2013-04-04 22:51:43

标签: c++ arrays pointers char byte

我正在做一些练习,以弄清楚如何使用指针更改数组中的值。有人可以指出为什么第一个输出没有显示所需的输出?我试图让两个cout打印1234,一个使用新指针,一个使用数组中的位置

int main()
{
    char myArray[50]={0};
    short* sizeOfAlloc=(short*)(myArray+5);  
         *sizeOfAlloc=1234;

    cout << (short*)(myArray+5) <<endl; 
    cout << *sizeOfAlloc <<endl;
    system("pause");

}

1 个答案:

答案 0 :(得分:2)

cout << (short*)(myArray+5) <<endl; 

打印指针。不是它指出的价值。

cout << *((short*)(myArray+5)) <<endl;
        ^^                   ^^

将打印(short*)(myArray+5)

指向的值