
C
LEELOTOUS
加油
展开
-
C语言判断逻辑中&&和||执行规则
对于一个判断语句,如果存在&&和||,其有“短路方式”的判断逻辑:&&:如果第一个为FALSE,则直接退出,不进行后续条件的判断||:如果第一个为TRUE,直接退出,不进行后续条件的判断...原创 2020-07-09 15:20:20 · 2114 阅读 · 0 评论 -
函数返回局部变量
函数返回局部变量在一次C语言实验中,在定义函数返回char*类型的局部变量时,编译器警告“函数返回局部变量地址”。经查资料发现,一般的来说,函数是可以返回局部变量的,但是要注意几种情况。局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是...原创 2019-11-19 17:30:37 · 749 阅读 · 0 评论 -
主机字节序与网络字节序
主机字节序与网络字节序字节序:字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。常见的字节序有:Little endian(小端,LE):将低序字节存储在起始地址小端模式是最符合人的思维的字节序,地址低位存储值的低位,地址高位存储值的高位Big endian(大端,BE):将高序字节存储在起始地址最直观的字节序,地址低位存储值的高位,地址高位存储值的低位,不要考虑对...原创 2019-11-19 15:32:27 · 296 阅读 · 0 评论 -
共用体Union
共用体Union之前编程很少用到共用体union,最近在学习网络编程的时候,发现一个测试系统大小端的程序利用到了Union的特性,现将其介绍一番。(参考博文:http://c.biancheng.net/view/2035.html)union,共用体,其定义格式如下:union 共用体名{ 成员列表};结构体和共用体的区别在于:结构体的各个成员会占用不同的内存,互相之间没有影...原创 2019-11-19 15:15:47 · 338 阅读 · 0 评论 -
结构体边界对齐问题
结构体边界对齐问题在构造DNS应答包的Answer字段时,我定义了一个结构体,如下所示:typedef struct{ __u16 name; __u16 type; __u16 class; __u32 ttl; __u16 length; __u32 ipv4_addr;}DNS_ANSWER_DATA;但是在进行数据包的构造的时候,在...原创 2019-11-19 11:39:19 · 1074 阅读 · 0 评论