c/c++
linuxdriverdeveloper
这个作者很懒,什么都没留下…
展开
-
二维char数组与二维char指针
char**的内存结构可以看成有多个连续的char*类型的元素构成,而二维字符数组是由M*N个字符组成。 1. 以下函数将出现段错误: #include #define M 2 #define N 100 void test(const char** pstr) { int i = 0; for(i = 0; i { printf("array[%d]= %原创 2012-06-18 11:29:43 · 11679 阅读 · 0 评论 -
静态区、堆、栈区别
静态区:保存自动全局变量和static 变量(包括static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。 栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。 堆:由malloc 系列函数或new 操作符分配的内存。其生命周期由free 或delete 决定。 在没有释放之前一原创 2012-11-12 11:26:43 · 542 阅读 · 0 评论 -
strcpy/strncpy/sprintf/_snprintf/snprintf的区别
1. char *strcpy(char *str1, char *str2); 串拷贝 #include #include int main(void) { char string[10]; char *str1 = "abcdefghi"; strcpy(string, str1); printf("%s\n", string); return原创 2012-11-19 10:55:08 · 1866 阅读 · 0 评论 -
strtok和strsep函数详解
函数原型:char *strtok(char *s, const char *delim); char *strsep(char **s, const char *delim); 功能:strtok和strsep两个函数的功能都是用来分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。转载 2012-11-22 10:32:55 · 599 阅读 · 0 评论 -
库函数-访问文件
库函数-访问文件 1. 库函数-创建和打开 # FILE *fopen(const char *filename, const char *mode) filename: 要打开的文件名 mode: 打开模式 r,rb: 只读方式打开 w,wb: 只写方式打开,如果文件不存在,则创建该文件 a,ab: 追加方式打开,如果文件不存在,则创建该文件 r+,r+b,rb+: 读写方原创 2012-12-05 15:44:14 · 462 阅读 · 0 评论 -
Linux应用 - 时间编程
时间类型 Coordinated Universal Time(UTC):世界标准时间,也就是格林威治时间Greenwhich Mean Time(GMT) Calendar Time日历时间,从一个标准时间点到此时经历过的秒数 1. 获取日历时间 #include time_t time(time_t *tloc) 获取日历时间,即从1970年1月1日0点到现在经历的秒数 #inc原创 2012-12-05 16:54:48 · 361 阅读 · 0 评论 -
i++和++i哪个效率高
只有在必要时才使用后置操作符 因为前置操作需要做的工作更少,只需要加1后返回加1后的结果即可。而后置操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。对于int对象和指针,编译器可优化掉这项额外工作。但是对于更多的复杂迭代器类型,这种额外工作可能会花费更大代价。因此,养成使用前置操作这个好习惯,就不必担心性能差异的问题。 这个问题是分两种情况的: 1、对于内置数据类型,原创 2013-04-07 14:51:09 · 1655 阅读 · 0 评论