![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C编程
文章平均质量分 76
jacky-wangjj
这个作者很懒,什么都没留下…
展开
-
C语言中volatile/register/const/static/extern/auto关键字的作用
一、volatile详解volatile的本意是“易变的” 因为访问寄存器要比访问内存单元快的多,所以编译器一般都会作减少存取内存的优化,但有可能会读脏数据。当要求使用volatile声明变量值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。精确地说就是,遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问;如果不转载 2016-10-17 22:05:13 · 749 阅读 · 0 评论 -
sizeof()详解
sizeof的结果(以下结果都是在Linux v2.6 gcc v4获取) sizeof操作符的结果类型是size_t 它在头文件中定义为: typedef unsigned int size_t; 该类型保证能容纳实现所建立的最大对象的字节大小. 1、ANSI C正式规定字符类型为1字节。 sizeof(char)转载 2016-10-18 21:39:59 · 9181 阅读 · 3 评论 -
Getmemory函数详解--内存操作的理解
题目:void GetMemory(char *p){p = (char *)malloc(100);}void Test(void){char *str = NULL;GetMemory(str);strcpy(str, "hello world");printf(str);}请问运行Test 函数会有什么样的结果?分析:程序崩溃。因为GetMem转载 2016-10-18 21:35:02 · 17231 阅读 · 4 评论 -
函数调用栈打印
Linux打印函数调用栈方法一:#include #include #include /* Obtain a backtrace and print it to stdout. */void print_trace (void){ void *array[10]; size_t size; char **strings; size_t i; size = bac原创 2017-03-14 17:53:43 · 5586 阅读 · 0 评论 -
Linux下应用程序的文件操作函数总结
Linux下应用程序的文件操作函数总结1.文件的创建和读写 当我们需要打开一个文件进行读写操作的时候,我们可以使用系统调用函数open.使用完成以后我们调用另外一个close函数进行关闭操作. int open(const char *pathname,int flags); int open(const char *pathname,in转载 2017-06-12 19:13:42 · 1085 阅读 · 0 评论