首页 > 编程语言 > 详细

C语言内存处的强制类型转换

时间:2021-04-30 16:37:36      阅读:35      评论:0      收藏:0      [点我收藏+]

说明:最近学习C语言寄存器操作,读到了代码

#define STOREG(x) (*((uint16_t*)&x)

起初不理解什么意思,现在解释记录一下。

数据类型转换

int a = 1;

int *p = &a;

float *p1 = (float*)p;

指针强制类型转换

int a;

int *p = &a;

char *p1 = (char *)&a;

结构体强制类型转换

struct str1 a;

struct str2 b;

a=*((struct str1*)&b);        

内存强制类型转换

最后,献上我自定义的内存强制类型转换

/*
*@brief     将x强制类型转换成type类型
*@param     x         待转换的变量
*@param     type      将要转换的类型
*/
#define FORCE_TYPE_CONVERSION(x,type) ( *(type*)&x )

  .

 

C语言内存处的强制类型转换

原文:https://www.cnblogs.com/shuoguoleilei/p/14722286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!