学习笔记
文章平均质量分 57
pqw1157
算是爱好学习吧,生活?自我满足就好。
展开
-
指针数组的操作
简单的说指针数组就是二维数组,因而对于char **file,*(file+index)与file[index]是等同的。现在假如要对file[index]的某个字符进行操作,即*(file[index]+i)=/0;也可以写成*(*(file+index)+i)=/0.但是前者较为直观,而且操作简单。所以最好用前者。申请内存空间:file=(char **)malloc(256*size原创 2006-08-30 16:15:00 · 985 阅读 · 0 评论 -
Linux网络编程常用函数
导读: 计算机数据存储有两种字节优先顺序:高位字节优先和低位字节优先。Internet上数据以高位字节优先顺 序在网络上传输,所以对于在内部是以低位字节优先方式存储数据的机器,在Internet上传输数据时就需 要进行转换。 我们要讨论的第一个结构类型是:struct sockaddr,该类型是用来保存socket信息的: struct sockaddr { u原创 2008-01-08 14:44:00 · 528 阅读 · 0 评论 -
C++ STL简介
导读: 一、STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。 STL的代码从广义上讲分为三类:algo原创 2007-12-06 17:04:00 · 893 阅读 · 0 评论 -
关于取数组地址
在文《csdn一道C语言题的学习》中,有关于对数组地址的操作。对于一个数组struct A,A就是指向数组的首地址,这个是在编译时确定的,对于取址操作符&,在运行时确定,&A的值也是数组的首地址。即A与&A的值是相同的,不过两者的含义有所不同。区别如下:1)地址含义的不同,A又可以理解为&A[0],A+1,即表示&A[1];但是,对于&A+1,则表示是下个数组的首地址, 即A+sizeo原创 2007-12-01 12:10:00 · 2308 阅读 · 0 评论 -
scanf() 详解
scanf原型:参见《C语言大全》和K&C# include ;int scanf( const char *format, ... ); 函数 scanf() 是从标准输入流 stdin 中读内容的通用子程序,可以读入全部固有类型的数据并自动转换成机内形式。 在 C99 中,format 用 restrict 修饰。format 指向的控制串由以下三类字符组成: ● 格式转载 2007-11-28 11:04:00 · 808 阅读 · 0 评论 -
链表内存的释放
链表是一种很常用的数据结构,如果在建立的时候为其每个节点分配了堆中的内存,则在程序结束前应该释放它,下面是常有的一段释放链表内存的程序:p = plist;//p和plist是指向一段相同地址空间的两个不同指针。while(p !=NULL)...{ q=p->next; free(p); p=q;}plist=NULL;//只是释放了其内存空间,指向链表的指针值并没有原创 2007-11-22 20:22:00 · 13351 阅读 · 0 评论 -
C语言之指针
指针对C 语言的重要性不言而喻,不过,对其理解却非常容易有偏差。下面结合两个例子,希望能对指针有更进一步的认识。void main(void)...{ char *p = (char *) malloc(10); strcpy(p,"hello"); printf("%s ",p); free(p); p = NUL原创 2007-11-21 18:21:00 · 436 阅读 · 0 评论 -
从两道经典试题谈C/C++中联合体(union)的使用
试题一:编写一段程序判断系统中的CPU是Little endian还是Big endian模式?分析:作为一个计算机相关专业的人,我们应该在计算机组成中都学习过什么叫Little endian和Big endian。Little endian和Big endian是CPU存放数据的两种不同顺序。对于整型、长整型等数据类型,Big endian认为第一个字节是最高位字节(按照从低地址到转载 2007-11-20 16:57:00 · 764 阅读 · 0 评论 -
switch 中嵌套 while之妙用
今天看到一段代码,代码的风格与实用性无可圈之处,不过,仔细研究下,可以学到一些东西,加深了对switch的理解,代码如下void copy(char* dst, char* src, int len)...{ switch(len & 7) ...{ default: while (len > 7) ...{ len -= 8;原创 2007-11-19 16:15:00 · 6091 阅读 · 0 评论 -
关于结构体的大小
经常会遇到要求sizeof(struct)的问题,由于要涉及到字节对齐的问题,而且不同平台结果也有所不同,所以,现对vc下的字节对齐总结一下:struct test...{ double m4; char m1; int m3;}在默认情况下,VC规定各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。下面列出常用类型原创 2007-11-19 17:31:00 · 1097 阅读 · 0 评论 -
闲扯原码、反码、补码
闲扯原码、反码、补码 相 信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看过之后不久就忘 了。最近论坛里有人问起这些概念,看到很多人的回复是以前看过现在忘了去看看某某书之类,很少有给出一个合理的解释。于是本人就开始思考(虽然上帝会发 笑,我还是要思考。),于是得出了以下的结论。 数值在计算转载 2007-11-15 15:27:00 · 568 阅读 · 0 评论 -
传输控制协议(Transmission Control Protocol, TCP)
传输控制协议(Transmission Control Protocol, TCP) TCP 协议主为了在主机间实现高可靠性的包交换传输协议。本文将描述协议标准和实现的一些方法。因为计算机网络在现代社会中已经是不可缺少的了,TCP协议转载 2007-10-31 10:46:00 · 1442 阅读 · 0 评论 -
C++之模板(Template)
模板是C++提供进行编程的一种类书工具。所以在看本文以前请先了解一下C++类书的概念及相关的知识。 1.模板的概念: 模板是实现类属机制的一种工具,它的功能非常强,它是无约束类属机制和约束类属机制的集合。 它可以让用户构造模板函数。 模板,对象, 函数之间的关系见下图: 2.函数模板与模板函数:先见下例:#include templ转载 2007-10-25 11:05:00 · 584 阅读 · 0 评论 -
基于arm9和vxworks中的中断处理
中断是外部事件通知操作系统的最常用手段。中断处理机制是计算机多任务环境运行的基础,是系统实时性的保证VxWorks内核wind在任务调度、中断处理及网络处理等方面与其它嵌入式实时操作系统相比具有一定的优势。特别是其提供的微秒级的中断处理为VxWorks在嵌入式实时操作系统领域的旗舰地位奠定了基础。VxWorks下的中断处理机制中断处理的实时性设计VxWorks采用中断处理与普原创 2007-08-20 09:58:00 · 2889 阅读 · 0 评论 -
关于驱动程序中的ioctl
我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混 了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就 是对设备的一些特性进行控制,例如串口的传输波特率转载 2006-08-31 09:46:00 · 1041 阅读 · 0 评论 -
1)在函数开始处检验传入参数的合法性
导读: 如: int CBufferPool::ResetBufferSize(int nNewSize) { //功能:改变缓冲区大小, //参数:nNewSize 缓冲区新长度 //返回值:缓冲区当前长度 //说明:保持原信息内容不变 nNewSize ASSERT(nNewSize >= 0); ASSERT(nNewSize ... }原创 2008-01-08 17:15:00 · 990 阅读 · 0 评论