c - 范围从 0 到 255 的整数

标签 c struct integer ip

我想声明一个结构体,里面有4个整数,每个整数只能是0到255,有办法吗?目前,我正在通过检查输入(在输入函数中)来做到这一点。

struct
{ 
    int num1;
    int num2;
    int num3;
    int num4;
} ip;

最佳答案

好吧,您可以使用 unsigned char(或者,更好的是 uint8_t),但这并不意味着您可以停止检查输入。这取决于您的要求。如果我输入 256 会发生什么?溢出可以吗?

旁注,sizeof(char) 定义为 1,但一个字节未定义为 8 位。在大多数硬件上你会没事的,但出于这个原因,你最好使用 uint8_t

关于c - 范围从 0 到 255 的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20482963/

相关文章:

c# - 结构类型的固定大小数组

java - 使用 Arraylist.get 方法时遇到问题,显示 "Incompatible operand types Object and int"

c - 如何在不放弃 const 的情况下实现 strstr()?

c - 为什么“while(!feof(file))”总是错误的?

c - C 中的结构数组

c# - 使用结构而不是给构造函数 8 个参数是否正确?

python - 在 Python 中计算最多两位小数

c++ - 你如何快速连接一个类似于连接字符串的整数

c - 如何在c中优化这段代码

c - Linux C 中的 read(2) 是如何工作的?