我正在做一些练习,以弄清楚如何使用指针更改数组中的值。有人可以指出为什么第一个输出没有显示所需的输出?我试图让两个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");
}
答案 0 :(得分:2)
cout << (short*)(myArray+5) <<endl;
打印指针。不是它指出的价值。
cout << *((short*)(myArray+5)) <<endl;
^^ ^^
将打印(short*)(myArray+5)