![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 81
专注android开发
这个作者很懒,什么都没留下…
展开
-
static作用(修饰函数、局部变量、全局变量)
static作用(修饰函数、局部变量、全局变量)在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a转载 2012-07-06 13:48:14 · 603 阅读 · 0 评论 -
assert用法总结
assert用法总结assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单转载 2012-09-13 10:15:09 · 816 阅读 · 0 评论 -
Linux中的宏
linux下 container_of()宏的简要解析ARRAY_SIZE 宏还是比较有意思的,其实是个c 的编程技巧,这个技巧很有用哦!可以在include/linux/kernel.h 中找到它的定义:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))该宏可以方便的求出一个数组中有多少数据成员,这在很多情况下是很有用转载 2012-07-10 19:53:34 · 2634 阅读 · 0 评论 -
c指针
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*p转载 2012-12-27 17:14:18 · 552 阅读 · 0 评论 -
snprintf函数用法
int snprintf (char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n的话,将不会溢出。函数返回值: 若成功则返回欲写入的字符串长度,若出错则返回负值。eg:snprintf(str, sizeof转载 2013-03-13 10:26:13 · 5809 阅读 · 0 评论 -
内存区域的划分和分配
参考:内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理] 1.内存分配方式 内存分配方式有三种: [1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 [2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。原创 2013-03-18 11:31:20 · 12724 阅读 · 2 评论 -
高质量C++/C编程指南 -- 第7章 内存管理 (1)
本文出自: 作者: 林锐 博士 (2002-07-19 06:02:00)http://fanqiang.chinaunix.net/a4/b2/20020719/060200272.html第七章 内存管理 欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言:640K ought to be enough for everybody — Bill Gates 198转载 2013-03-18 18:04:29 · 1237 阅读 · 0 评论