C语言易错点汇总

C语言易错点汇总

无特殊说明情况下,下面所有题s目都是linux下的32位C程序。 1、计算以下sizeof的值。 char str1[] = {'a', 'b', 'c', 'd', 'e'}; char str2[] = "abcde"; char *ptr = "abcde"; char book[][80]={"计算机应用基础","C语言","C++程序设计","数据结构"}; sizeof(str1)=? sizeof(str2)=? sizeof(ptr)=? sizeof(book)=? sizeof(book[0])=? ...

const变量可以修改么?

遇到了一个关于const修饰的变量值是否能修改问题,虽然我知道const变量在某些情况下可以通过指向它的指针来间接修改,但是对原理还是很模糊,今天就整理了一下。 下面通过三段小代码来验证一下 1)、直接修改const修饰的局部变量 #include <stdio.h> int main...

TCP协议知识汇总

TCP协议知识汇总

TCP/IP方面知识整理: 技术面试中常见的网络通信细节问题解答 1. TCP/IP协议栈层次结构 TCP三次握手与四次挥手 先看三次握手与四次挥手流程图: 1).三次握手细节点 - 三次握手,如果前两次有某一次失败,会重新从第一次开始,重来三次。 - 三次握手,如果最后一次失败,服务器并不会重传ack报文,而是直接发送RTS报文段,进入CLOSED状...

fwrite与write、fread与read

对文件进行读写操作,我们会使用fwrite\write,fread\read等函数,这些函数在应用场景上有什么区别呢? fwrite与write: The signature of fwrite is: fwrite(const void * ptr, size_t size, size_t count, FILE * stream ); While the signature of write is: wr...

redis有序集合实现排行榜功能

在很多系统中都会有关于排行榜的应用,比如游戏排行榜、歌曲热搜榜等等,下面就用redis的有序集合实现排行榜功能。 假设lb为排行榜名称,user1、user2等为玩家唯一标识。 1) zadd——设置玩家分数 命令格式:zadd 排行榜名称 分数 玩家标识 时间复杂度:O(log(N)) red...

mysql查询,offset过大影响性能原因与分析

mysql查询,offset过大影响性能原因与分析

通常我们会利用如下语句进行分页查询: select * from `table` order by id desc limit 0, 20 如果使用索引,这种查询方法在中小数据数据量情况下完全够用,但是随着数据量增加,这种写法就会带来性能问题。下面就来分析offset过大带来的性能问题、原因以及解决方案。 准备测试表和数据,并插入足够多的数据。 Create Table: CREATE TABLE ...

IP地址转为INT类型存储

Mysql存储IP地址,为了获取更好的性能,建议将IP地址转为INT类型存储。 下面就来看一下用C语言如何实现字符串IP地址转为整数类型。 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void...