随笔分类 - C
C语言
摘要:在数组一章中,曾介绍过数组的长度是预先定义好的,在整个程序中固定不变。C语言中不允许动态数组类型。例如: int n;scanf("%d",&n);int a[n];用变量表示长度,想对数组的大小作动态说明, 这是错误的。但是在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定。对于这种问题,用数组的办法很难解决。为了解决上述问题,C语言提供了一些内存管...
阅读全文
摘要:C试题类型:C试题 | 试题:55道试题(50道选择题,5道问答题) 注意: 答题过程如果您不提交答案,或者关闭浏览器退出,我们将不再允许您再次答题。谢谢! 试题 选项 Question 1. (单选)在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为(3)1. 22. 33. 44. 5Question 2. (单选)设散列...
阅读全文
摘要:4. static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。 8. 描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变...
阅读全文
摘要:1)auto 这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。 (2)register 这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。 (3)static 常见的两种用途: 1>统计函数被调用的...
阅读全文
摘要:全局变量、局部变量、静态全局变量、静态局部变量的区别C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。静态局部变量具有局...
阅读全文
摘要:1. 环境 /usr/local/apache/htdocs/ (待检索的文件在该目录下) /usr/local/apache/temp/ (作为中转的文件夹) /usr/local/apache/cgi-bin/ 2. 将gcc search.c产生的a.out放置在/usr/local/apache/cgi-bin/中,权限设置为nobody可 以执行。 3. chown -R n...
阅读全文
摘要:全排列,比如字母ABC,所有排列有A ,AB,AC,ABC,ACB,B,BA,BC,BAC,BCA,C,CA,CB,CAB,CBA。 //原理是插入, 在一个字符串的所有位置插入新字符.//如: AB 插入C , 位置有 1A2B3, 插入后形成 CAB ACB ABC char *AllList(char *str, int *pNum)...{ int i, j, k, n; in...
阅读全文
摘要:1. 环境 /usr/local/apache/htdocs/ (待检索的文件在该目录下) /usr/local/apache/temp/ (作为中转的文件夹) /usr/local/apache/cgi-bin/ 2. 将gcc search.c产生的a.out放置在/usr/local/apache/cgi-bin/中,权限设置为nobody可 以执行。 3. chown -R n...
阅读全文
摘要:static l 静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可改变其值。 l 静态变量或静态函数,即只有本文件内的代码才可访问它,它的名字(变量名或函数名)在其它文件中不可见。 l 在函数体内生成的静态变量它的值也只能维持 int max_so_far( int curr )//求至今(本次调用)为止最大...
阅读全文
摘要:一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic var...
阅读全文
摘要:相关函数:index, memchr, rindex, strpbrk, strsep, strspn, strstr表头文件:#include C/C++中的Split函数是strtok()其函数原型如下: char * strtok (char * str, const char * delimiters); 函数说明 strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符...
阅读全文
摘要:【问题】在以前的双缓冲Demo中,发现这个在移动一张牌的时候,效率还能忍受过去。但是当应用双缓冲技术到显示多张纸牌的时候,我们会发现效率已经不能再让人忍受了。移动纸牌发生飘移;发牌的时候,当把定时器间隔修改为1ms的时候,速度还是很慢。为此需要对双缓冲的效率进行改善。 【改善措施】经过调查,改善的措施具体如下: 1. 将创建内存画布的工作移动到OnSize函数中去做,也就是当窗口大小发生变化的时...
阅读全文
摘要:1.const的用法: ...
阅读全文
摘要:#include #include int main(int argc,char **argv) { char *haystack="aaa||a||bbb||c||ee||"; char *needle="||"; char* buf = strstr( haystack, needle); while( bu...
阅读全文
摘要:大二上学期做过8051单片机的按键程序,当时项目要求实现按键控制LED屏显示并且接收GPRS传来的数据。当时为了节省成本,就去大西电子市场买来8*8的LED块,然后自己一点一点的拼接成128*16的。做完之后虽然可以运行,但是很勉强,尤其是按键扫描程序没有下面这位哥写得简洁缜密,所以就贴过来,以后用到的时候直接研究:unsignedcharkey,key_h,kpush;unsignedintke...
阅读全文
摘要:1:结构体中定义字符数组并赋值 先看一段错误的代码 struct stype { char c1[16] }; struct stype s1; s1.c1 = "Hello"; //错误 这是很幼稚的概念错误,char c2[10]声明一个10元素的数组c2,此时c2的空间已经被分配,c2是这个数组的地址,是一个常量,如果再进行 c2 = “hello" 这样其实就试图...
阅读全文
摘要:#include #include #include #define LSB 0 #define MSB 1 #define RXR 0 #define TXR 0 #define IER 1 #define IIR 2 #define LCR 3 #define MCR 4 #define LSR 5 #define MSR 6 #define Com1_...
阅读全文
摘要:第一种情况: char* p="how are you ?"; char name[20]="ABCDEFGHIJKLMNOPQRS"; strcpy(name,p); //name改变为"how are you ? OPQRS " ====>错误! strncpy(name,p,sizeof(name)) //name改变为"how are you ? " ...
阅读全文
摘要:网络上找的,不知道对不对的,不负责任的哦。 字符分类: 宽字符函数普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcntrl() iscntrl() 测试字符是否是控制符 iswdigit() isdigit() 测试字符是否为数字 iswgraph() isgraph() 测试字...
阅读全文
摘要:很多技术笔试都考字符串复制函数的编写(不能用那个库函数), 有人说说这个函数的考点在哪里和编写的时候要注意的问题吗? 最好能有编写严谨的例程。 函数声明: char * strcpy(char * strDest, const char * strSrc) 目前为止,我总结出: 1,考察strDest和st...
阅读全文