char c[4]={1,2,3,4};
char * addr;
addr=c;
int k=*c;
请教:
addr是c的地址,c的地址是c[0]的地址,*c=c[0],那么&c,即对c取地址符操作,结果是什么呢?
(int*)&c=?? 和 *(int*)&c=??谢谢!
char * addr;
addr=c;
int k=*c;
请教:
addr是c的地址,c的地址是c[0]的地址,*c=c[0],那么&c,即对c取地址符操作,结果是什么呢?
(int*)&c=?? 和 *(int*)&c=??谢谢!
解决方案 »
- 在程序中如何调用SQL事务
- 新手问个问题
- 为什么没有在指定设备中重绘窗口?
- vc中使用ADO如何取数据表的bit类型字段的数据?
- 请教:有关xp下面插入优盘弹出对话框的问题?
- 请问这是什么意思?
- 请问:KBDLLHOOKSTRUCT应包含在哪个头文件里面
- 我在MFC的OCX中用CWnd生成了一个小窗体,无法收到任何消息!
- 为什么线程函数内就可以启动本身线程
- 如何将代码写入 图片或者文本文档 视频 音频这些文件
- 当远程程序以service运行("hello.exe -service")时,CoCreateInstanceEx运行出错--“拒绝访问”。
- 急求:unresolved external symbol 解决方法
后面一个就是c[0]&c其实是一个int **
c=&c[0]; &c 对数组变量取地址,要使其有意义,必须对这个地址进行强制转换;例如(char *)&c 将其转换成char*指针,则(char *)&c=&c[0],*(char *)&c=c[0]=1;
(int *)&c,把指针强制转化成int*,则4块32位连续的内存区域成了一块int型变量区域,则*(int*)&c=67305985,就是1,2,3,4对应32位后的int值