我听过很多关于编程风格的重要性.在我看来,缩进很容易处理.但其他事情让我很沮丧.考虑一个特定的例子来演示inet_makeaddr的使用.
/* demonstrate the use of host address functions */
#include <stdio.h>
#include <arpa/inet.h>
#include <netinet/in.h>
int
main(void)
{
/* inet_makeaddr demo */
uint32_t neta = 0x0a3e5500;
uint32_t hosta = 0x0c;
struct in_addr alla = inet_makeaddr(neta, hosta);
printf("makeaddr of net: %08x and host: %08x = %08x\n",
neta, hosta, alla);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有人可能想写如下:
uint32_t neta;
uint32_t hosta;
struct in_addr alla;
neta = 0x0a3e5500;
hosta = 0x0c;
alla = inet_makeaddr(neta, hosta);
Run Code Online (Sandbox Code Playgroud)
然后其他人可能总是在定义时初始化变量:
uint32_t neta = 0;
uint32_t hosta = 0;
struct in_addr alla = {0};
neta = 0x0a3e5500;
hosta = 0x0c;
alla = inet_makeaddr(neta, hosta);
Run Code Online (Sandbox Code Playgroud)
这些中的任何一个比其他的更好,还是个人品味?
我认为三个例子中的第一个是最好的:第二个例子有未初始化的变量,第三个例子有变量初始化为无意义(零)值.我更喜欢在我定义变量时初始化变量(具有有意义的值)(这样我就没有未初始化的变量).另请参见本地变量初始化是否必须?