int main()
{
int num[6]={1,2,3,4,5,6};
int* ptr=(int*)(&num+1);
printf("%d",*(ptr-1));
}
输出为什么会是6呢,百思不得其解,求大侠帮助啊。谢谢了。。
{
int num[6]={1,2,3,4,5,6};
int* ptr=(int*)(&num+1);
printf("%d",*(ptr-1));
}
输出为什么会是6呢,百思不得其解,求大侠帮助啊。谢谢了。。
解决方案 »
- CFile* m_WriteFile = new CFile(p,CFile::typeBinary);//为啥不行?
- 关于botton的问题,菜鸟请高手帮忙
- VC6编译时出现的一个问题:LINK: extra operand
- 急!基于opengl的车间仿真
- 在线等待,求求各位大虾们,可能是非常简单的问题,但我想不到该怎么作?
- 问一个关于电子邮件的问题,麻烦大家回答一下,谢谢,或许对你有帮助哦
- 如何在位图上面放置按扭?
- 带资源的DLL怎样在调用时指定使用此DLL中的资源
- 【求助】MsgWaitForMultipleObjects 函数的问题
- 怎样在互连网上发送音频(双向)!
- 关于mysql插入数据的问题
- 我想建立这样一个View类,我在上面换上图形,当我点击这个图形时,可以弹出一个对话框来?
&num 类型是int (*)[6]&num + 1 == num + 6
&num是num数组的地址
数值"总是相等",但指针类型不同指针就是地址——我们可以把指针认为是用来存放地址的数据类型。不能把指针简简单单的当成一个整型数,虽然地址的值是一个整型数据。指针是有类型的,但是这个类型不是给指针分配内存的,而是用来寻址的。指针类型决定指针跨内存单元的步长。