用struct定义PCB
时间: 2024-09-28 12:05:26 浏览: 40
PCB.rar_pcb怎么做c++_pcb怎么用c++做
在计算机程序设计中,PCB(Packet Control Block)通常是指数据包控制块,用于网络通信中的头部信息。用`struct`定义PCB,这是一种在C语言(或其他支持结构体的语言如C++)中创建自定义数据类型的常见方法。下面是一个简单的例子:
```c
#include <stdio.h>
#include <string.h>
// 定义PCB结构体
typedef struct {
char src_ip[16]; // 源IP地址
char dst_ip[16]; // 目标IP地址
uint16_t src_port; // 源端口号
uint16_t dst_port; // 目标端口号
int packet_length; // 数据包长度
bool is_ack; // 是否收到确认标志
} PCB;
void print_PCB(PCB pcb) {
printf("Source IP: %s\n", pcb.src_ip);
printf("Destination IP: %s\n", pcb.dst_ip);
printf("Source Port: %d\n", pcb.src_port);
printf("Destination Port: %d\n", pcb.dst_port);
printf("Packet Length: %d bytes\n", pcb.packet_length);
printf("Is Acknowledged: %d\n", pcb.is_ack ? "Yes" : "No");
}
int main() {
PCB my_pcb = {"192.168.1.1", "10.0.0.2", 80, 443, 512, false};
print_PCB(my_pcb);
return 0;
}
```
在这个例子中,我们定义了一个名为`PCB`的结构体,包含了源IP、目标IP、源端口、目标端口、数据包长度以及确认标志等字段。`print_PCB`函数可以用来打印PCB的内容。
阅读全文