我正在做一些练习来弄清楚如何在数组被指针更改后访问数组中的值。有人能指出为什么第一个输出不显示所需的输出吗?我试图通过使用数组中指针并将char数组转换为int
int main()
{
char myArray[50]={0};
short* sizeOfAlloc=(short*)(myArray+5);
*sizeOfAlloc=1234;
cout << (short*)(myArray+5) <<endl;
cout << *sizeOfAlloc <<endl;
system("pause");
}
在第一行,你不提领。 – 2013-04-04 22:53:06
myArray是一个'char **',但是你把它转换成'short *'。 2问题:1.(主要的),你已经改变了间接的级别。 2.你从'char'投射到'short',如果你真的知道自己在做什么(更有可能投射到'int16_t') – Dave 2013-04-04 22:55:29
谢谢Daniel和Dave。关于你的第一个评论戴夫,你知道一个更好的方式来转换一些字符双或其他? – user2012481 2013-04-04 22:58:16