如何引用一个已经定义过的全局变量?

1. **同文件**:直接用变量名引用全局变量。

2. **不同文件**:用引用头文件的方式或者在引用文件用`extern`声明后,即可使用全局变量。

do......while和while......do有什么区别呢?

do…while先执行循环再判断条件,while…do先进行判断再执行循环。

使用什么命令查看linux系统内存和CPU使用情况?使用什么命令查看系统进程信息?

- 查看Linux系统内存和CPU使用情况可用`top`、`htop`、`vmstat`命令。

- 查看系统进程信息可用`ps aux`、`pstree`命令。

队列和栈有什么区别?

数据进出规则

o 队列:先进先出(FIFO)。

o 栈:后进先出(LIFO)。

操作方式

o 队列:队尾入队、队头出队。

o 栈:栈顶入栈、栈顶出栈。

应用场景

o 队列:任务调度、消息队列等。

o 栈:函数调用、浏览器历史记录等。


队列和栈都是常见的数据结构,不同之处在于数据的存取方式。队列是一种先进先出(FIFO)的数据结构,只允许在队列的一端进行插入操作,在另一端进行删除操作。而栈是一种先进后出(LIFO)的数据结构,只允许在栈的一端进行插入和删除操作。


头文件中的 ifndef/define/endif 干什么用?

`ifndef`、`define`、`endif`组合用于防止头文件重复包含。

- `ifndef`检查宏是否未定义,若未定义则执行后续代码。

- `define`定义宏,再次包含时`ifndef`检查失败。

- `endif`标志`ifndef`块结束。

请写出IS0 七层网络模型

ISO七层网络模型由下至上依次为:

1. 物理层。

2. 数据链路层。

3. 网络层。

4. 传输层。

5. 会话层。

6. 表示层。

7. 应用层。

常用字节序哪几种?网络字节序属于哪种?

常用字节序有大端字节序(Big - Endian)和小端字节序(Little - Endian)。网络字节序属于大端字节序。

16.TCP 和 UDP 有什么区别?

TCP和UDP有以下区别:

- **连接性**:TCP是面向连接的,UDP是无连接的。

- **可靠性**:TCP提供可靠交付,UDP不保证可靠交付。

- **数据传输**:TCP按顺序传输,UDP不保证顺序。

- **拥塞控制**:TCP有拥塞控制机制,UDP没有。

- **首部开销**:TCP首部开销大,UDP首部开销小。

- **应用场景**:TCP适用于对可靠性要求高的场景,如文件传输;UDP适用于对实时性要求高的场景,如视频直播。

ARP协议主要作用是什么?

ARP协议主要作用是将IP地址解析为物理地址(MAC地址),使主机能在局域网中实现数据链路层的通信。

使用 gcc 命令将 test.c编译输出 test.out 的命令?

gcc test.c -o test.out

请简述快速排序、冒泡排序、选择排序算法的主要过程。

冒泡排序:相邻元素两两比较,逆序就交换,每轮冒大(小)数到后(前)端,直至有序。

选择排序:从未排序中选最小(大)数,与未排序首元素交换,重复直至全序。

快速排序:

1.从数列中挑出一个元素,称为 “基准”。

2. 重新排序数列,将比基准值小的元素放在基准前面,比基准值大的元素放在基准后面(相同的数可以到任一边)。

3. 对划分后的两个子数列分别重复上述步骤,直到每个子数列只有一个元素。

原文链接:,转发请注明来源!