ntjm.net
当前位置:首页 >> C语言这句话的冒号是什么意思? uint8_t OK_TO_ARM :1 ; >>

C语言这句话的冒号是什么意思? uint8_t OK_TO_ARM :1 ;

冒号出现在struct结构当中表示只占用8位中的1位.也就是说OK_TO_ARM变量的范围为 0 1 如果是2 ,范围就是 0,1,2,3.

不知道兄弟是谁,呵,看了你的回复,我到google查了下,uint8_t定义于<stdint.h>中,可见于:http://www.cs.colorado.edu/~main/cs1300/include/stdint.h 你查uint8_t能很快查到它的定义:typedef unsigned char uint8_t; 我不知道我哪里错了,

无符号整数

数字后面跟U表示该常数用无符号整型方式存储,相当于unsigned int; 所以 1U 指的是 1是unsigned int(无符号类型)类型的整数.uint8_T是一个C99的整数类型,包含在头文件<inttypes.h> unit8_t它是和一个char等价的,unit8_t可能是32位的,但是编译器只会用它的8位,这是C99规定 所以((uint8_T)1U)指的是8位的unsigned int的整数,其值为1.

声明a是指向一个函数的指针,这个函数有两个形式参数,第一个是student_t型,第二个是uint8_t型,这个函数返回一个uint8_t型值.

定义一个函数指针类型.一步一步分解第一行:typedef void (*handler_t)(uint8_t * ); 第二行:最内层 (uint8_t * ) 函数的参数列表 ,仅有一个参数,为uint8_t类型的指针第三行:void (*handler_t) 函数指针 该函数指针 指向一个 上面一行那个类型的函数,函数返回值为void使用的时候 handler_t phand;就是定义了个该类型的函数指针.

1U 指的是 1是unsigned int(无符号类型)类型的整数.uint8_tT指的是8位的unsigned int的整数.小注: U后缀表示令数字为无符号整数.

将变量t类型强制转换为uint8 *类型也就是转换成指向uint8类型变量的指针变量uint8应该是无符号8位二进制整型,其实就是unsigned char类型.

&t_eeSysData :取变量t_eeSysData的地址(uint8 *)&t_eeSysData : 将此地址强制转换为uint8类型的指针 pcRealValue = (uint8 *)&t_eeSysData:在将此指针存在pcRealValue 变量中

是不是打错了 (uint8_t*)t uint8_t: u无符号,int整形,8占8个字节,_t是一般的后缀 具体定义:typedef unsigned int uint8_t; 在<stdint.h>里面(uint8_t*) 这个是强制转换成uint8_t类型的指针

相关文档
hyqd.net | jingxinwu.net | dkxk.net | rjps.net | zxqt.net | 网站首页 | 网站地图
All rights reserved Powered by www.ntjm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com