void指针强转结构体指针问题
来源:互联网 发布:c语言取绝对值的函数 编辑:程序博客网 时间:2024/06/08 03:32
void指针强转结构体指针问题
转自:http://blog.csdn.net/tankai19880619/article/details/8263752
1.程序,test.c
- #include <stdio.h>
- #include <stdlib.h>
- typedef unsigned long u32; //64位机器为8字节,32位机器为4字节
- typedef struct my_struct{
- u32 a;
- u32 b;
- u32 c;
- }mystruct;
- int main(){
- void *test;
- test = NULL;
- test = malloc(1);
- printf("test is %lx\n",test);
- #define GPIO ((mystruct *)(test))
- GPIO->a = 10;
- GPIO->b = 20;
- GPIO->c = 30;
- printf("(&(GPIO->a)) is %lx\n",(&(GPIO->a)));
- printf("(&(GPIO->b)) is %lx\n",(&(GPIO->b)));
- printf("(&(GPIO->c)) is %lx\n",(&(GPIO->c)));
- printf("GPIO->a is %d\n",GPIO->a);
- printf("GPIO->b is %d\n",GPIO->b);
- printf("GPIO->c is %d\n",GPIO->c);
- free(test);
- test = NULL;
- return 0;
- }
3.结果./test
- test is 17f2010
- (&(GPIO->a)) is 17f2010
- (&(GPIO->b)) is 17f2018
- (&(GPIO->c)) is 17f2020
- GPIO->a is 10
- GPIO->b is 20
- GPIO->c is 30
0 0
- void指针强转结构体指针问题
- void指针强转结构体指针问题
- void* unknown size问题及结构体转指针问题
- 复习6:void指针和结构体
- void 指针问题
- 结构体指针问题
- 结构体指针问题
- 【转】关于void指针
- 结构体指针移位问题~~
- 关于结构体指针问题
- 结构体指针初始化问题
- void指针
- void指针
- void指针
- void指针。。。
- void指针
- void* 指针
- void指针
- [时空与预测]星际迷航-暗黑无边
- android实现双轮联动选择器
- NSNumber讲解之一——NSNumber封装数值型数据
- Linux开发五_构建根文件系统
- linux socket套接字超时之setsockopt
- void指针强转结构体指针问题
- Git常用命令
- linux网络编程之socket(十一):套接字I/O超时设置方法和用select实现超时
- NSNumber讲解之二——NSNumber的大小比较
- socket编程的同步、异步与阻塞、非阻塞示例详解之一
- socket编程的同步、异步与阻塞、非阻塞示例详解之二
- socket编程中的超时设置示例详解之一
- hdu2571 简单dp
- socket编程中的超时设置示例详解之二