0

我正在做一些练习来弄清楚如何在用指针更改数组中的值后访问它们。有人能指出为什么第一个输出没有显示所需的输出吗?我试图让两个 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");

}
4

1 回答 1

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

打印指针。不是它所指向的值。

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

将打印指向的值(short*)(myArray+5)

于 2013-04-04T22:54:24.860 回答