C专家编程阅读笔记】的更多相关文章

周末闲来无事,(哗),好久之前买的C专家编程一直没看,翻起来看了一下 尽量不使用unsigned 尽量不要在代码中使用unsigned,尤其是一些看起来是无符号类型的数字,比如年龄等,因为难免要使用unsigned和signed混用,这时候可能会发生-1被转换为一个大数字的错误情况.StackExchange 上有一篇很好地讨论 有一种情况,在使用2进制操作的时候请一定要使用unsigned. 注意缓冲区溢出攻击 不要使用gets等没有指定缓冲区大小的函数,有安全隐患,使用fgets等新函数.(…
无论在什么时候,如果遇到malloc(strlen(str));,几乎可以直接断定他是错误的,而malloc(strlen(str)+1):才是正确的: 一个L的NUL哟关于结束一个ACSII字符串:两个L的NULL用于表示什么也不指向(空指针):ACSII字符中零的位模式被称为NUL.表示哪里也不指向的特殊的指针则是NULL. swtich语句从匹配表达式的case开始执行,所以在swtich语句左花括号后声明的一些变量没有什么用处,因为他不会被执行: #include<stdio.h> i…
对于声明,应该按下面的步骤来进行解释: 1) 声明从它的名字开始读取,然后按照优先级顺序依次读取 2) 优先级顺序 a) 括号括起来的部分 b) 后缀操作符,()表示函数,[]表示数组 c) 前缀操作符,*表示指针 3) 如果const或volatile关键字后面紧跟类型说明符,那么他作用于类型说明符,其他情况下,作用于其左边紧邻的指针星号. 根据这个原则,我们可以得到下面的代码 #include <stdio.h> #include <string.h> #include <…
寻找html页面中的节点 所有文档节点getElementsByTagName("*"); document.getElementsByTagName("*") 文档节点 getElementsByTagName; document.getElementsByTagName("div") id getElementById; document.getElementById("id_") 类class function getE…
1.前言 书中在解释Java监视器模式的时候使用了一个车辆追踪器例子,根据不同的使用场景给出了不同的实现和优化. 2.监视器模式示例 实现一个调度车辆的"车辆追踪器",每台车使用一个String对象标识,并且拥有一个相应的位置坐标(x,y).由于运行在多线程的场景下,对外暴露的接口需要保证线程安全. 需要提供的接口包括: 获取所有车辆标识和位置 读取某个车辆位置 更新某个车辆位置 下面给出第一种实现: @ThreadSafe public class MonitorVehicleTra…
本博文主要针对UNP一书中的第六章内容来聊聊I/O复用技术以及其在网络编程中的实现 1. I/O复用技术 I/O多路复用是指内核一旦发现进程指定的一个或者多个I/O条件准备就绪,它就通知该进程.I/O复用适用于以下场合: (1) 当客户处理多个描述符(一般是交互式输入或网络套接字),必须适用I/O复用 (2) 当一个客户处理多个套接字时,这种情况很少见,但也可能出现 (3) 当一个TCP服务器既要处理监听套接字,又要处理已连接套接字,一般就要使用I/O复用 (4) 如果一个服务器既要适用TCP,…
unp第二章主要将了TCP和UDP的简介,这些在<TCP/IP详解>和<计算机网络>等书中有很多细致的讲解,可以参考本人的这篇博客[计算机网络 第五版]阅读笔记之五:运输层,这篇博客就不再赘述. 本篇博客主要记录套接字编程API,从一些基本的API来一步一步了解套接字网络编程. 1.套接字地址结构 大多数的套接字函数都以一个指向套接字地址结构的指针作为参数.每个协议簇都定义了自己的套接字地址结构. 套接字地址结构均以sockaddr_开头,并以对应每个协议簇的唯一后缀结尾. 1.1…
Java编程思想 这是一个通过对<Java编程思想>(Think in java)进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会忽略或者混淆的知识点. 所列知识点全部都是针对自己个人而言,同时也欢迎大家进行补充. 第九章(接口) 任何抽象性都应该是应真正的需求而产生的. 访问权限 p172 interface如果不加public关键字,则只具有包访问权限. 重名 p181 可以通过extends来扩展接口,但在实现多重继承时要注意不能实现签…