随笔分类 - C
C点滴知识
摘要:exit()函数导致子进程的正常退出,并且参数status&这个值将被返回给父进程。exit()应该是库函数。exit()函数其实是对_exit()函数的一种封装(库函数就是对系统调用的一种封装)。 _exit()函数终止调用的进程,进程所有的文件描述符(在linux中一切皆文件)都被关闭, 这个进
阅读全文
摘要:__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute) __attribute__前后都有两个下划线,并且后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数 1.
阅读全文
摘要:1:/dev/urandom和/dev/random是什么 这两个文件记录Linux下的熵池,所谓熵池就是当前系统下的环境噪音,描述了一个系统的混乱程度,环境噪音由这几个方面组成,如内存的使用,文件的使用量,不同类型的进程数量等等,刚开机的时候系统噪音会较小。在这两个设备的差异在于:/dev/ran
阅读全文
摘要:calloc和realloc与malloc的区别 calloc和realloc的原型如下: void *calloc ( size_t num_elements, size_t element_size ); void *realloc (void *ptr, size_t new_size );
阅读全文
摘要:#include #include #include #include struct infomation{ char plate_num[16]; char time_str[32]; }; #define ROWNUM 20 #define COLUMN 5 int main(void) { int i = 0; // 20*5 ...
阅读全文
摘要:注意:基本数据类型的位数与系统有关,比如64-bit系统的int型为4B C/C++中以一定区域内的位(bit)为单位来表示的数据成为位域,位域必须指明具体的数目。 位域的作用主要是节省内存资源,使数据结构更紧凑。 1. 一个位域必须存储在同一个字节中,不能跨两个字节,故位域的长度不能大于一个字节的
阅读全文
摘要:详细参考如下: Dangling pointer(悬垂指针、迷途指针)和 Wild pointer(野指针) 迷途指针经常出现在混杂使用malloc() 和 free() 库调用: 当指针指向的内存释放了,这时该指针就是迷途的。和前面的例子一样,一个避免这个错误的方法是在释放它的引用后将该指针的值重
阅读全文
摘要:strlen计算不包括终止符null字节的字符串长度,而sizeof则计算包括终止null字节的长度.另一个差别,strlen需要一次函数调用,而sizeof在编译时计算缓冲区长度. @2019-03-12 21:44:15 sizeof()是运算符,由于在编译时计算,因此sizeof不能用来返回动
阅读全文
摘要:有符号数和无符号数运算的时候,有符号数会自动向无符号数转换 1 #include<iostream> 2 #include<ctime> 3 #include <stdio.h> 4 #include<cstring> 5 #include<cstdlib> 6 #include <map> 7 #
阅读全文
摘要:4. static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。 8. 描述实时系统的基本特性在特定时间内
阅读全文
摘要:宏定义的使用与注意事项 ##是一个连接符号,用于把参数连在一起 #是“字符串化”的意思。出现在宏定义中的#是把跟在后面的参数转换成一个字符串#define paster( n ) printf( "token " #n" = %d\n ", token##n ) 所以paster(9);就是相当于
阅读全文
摘要:sort()函数是C++中的排序函数其头文件为:#include<algorithm>头文件; qsort()是C中的排序函数,其头文件为:#include<stdlib.h> 1、qsort() 六类qsort排序方法 qsort函数很好用,但有时不太会用比如按结构体一级排序、二级排序、字符串排序
阅读全文
摘要:int main(int argc, char *argv[]) { int a = 10, b; __asm__("movl %1, %%eax\n\t" "movl %%eax, %0\n\t" :"=r"(b) :"r"(a) :"%eax" ); ...
阅读全文
摘要:#include <stdio.h> #include <stdlib.h> #include <string.h> #include "com_time.h" #include "com_func.h" /* * Definition of leap year: Rule 1: A year is
阅读全文
摘要:#include <iostream>using namespace std;int main() { union endian { int data; char ch; }test; test.data=0x12345678; if(test.ch == 0x78) cout << "little
阅读全文
摘要:int *p[5]; 由于下标运算符 [] 比 * 运算符的优先级髙,p 首先与下标运算符 [] 相结合,说明 p 为数组,该数组中有 5 个元素,每个为 int * 型。即 p 为指针数组。 int (*ap)[2];()优先级高。定义了一个指向包含有两个元素的数组的数组指针。数组指针是指向一个数
阅读全文
摘要:exit的话是在stdlib的头文件里面定义的,他是的程序退出,正如exit的字面意思一样break的话是终止当前循环继续进行循环后面的语句,但是程序照样还在进行只能while switch for中使用break;但是可以在任何语句中用exit; 本文转载:http://blog.chinauni
阅读全文
摘要:1.Rust简介 Rust是一门系统编程语言,无GC(垃圾回收)且能保证内存安全、并发安全和高性能而著称。自2008年开始由Graydon Hoare私⼈研发,2009年得到Mozilla赞助,2010年⾸次发布 0.1.0 版本,⽤于Servo引擎的研发,于2015年5⽉15号发布 1.0版本。2
阅读全文
摘要:本文转自 http://blog.sina.com.cn/s/blog_77f1e27f01019qq9.html ,在此感谢!c++编译常会出现free(): invalid next size (fast)或者是free(): invalid next size (normal)的问题,这大多数...
阅读全文
摘要:这些都是为一些“函数指针”类型定义一个别名,因为函数指针的类型通常十分长,写起来麻烦。http://zhidao.baidu.com/link?url=E7C4s3srK-QzUqI5OZBSst-fzFKgtGyNaZf2GWEWvW8ruHC8XI1v4RjxsXZ8SvArPewsrPlXjy
阅读全文