在C 中使用uint8_t
over有什么好处unsigned char
?
我知道几乎每个系统uint8_t
都只是一个typedef unsigned char
,为什么要用呢?
鉴于这个C++ 11程序,我应该期待看到一个数字还是一个字母?还是没有期望?
#include <cstdint>
#include <iostream>
int main()
{
int8_t i = 65;
std::cout << i;
}
Run Code Online (Sandbox Code Playgroud)
标准是否指定此类型是否可以是字符类型?
我有以下代码:
#include <inttypes.h>
#include <stdlib.h>
struct a
{
void *p;
};
int main(void)
{
struct a *ptr = malloc(sizeof(struct a));
ptr->p = malloc(sizeof(uint8_t));
*((uint8_t *) ptr->p) = 2;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我在解除引用之前转换void指针以避免警告
警告:解除引用'void*'指针
我是通过这样做打破任何规则还是这个代码好?