C
文章平均质量分 73
小猫恨鱼
再回首往事如梦,再回首我心依旧
展开
-
sizeof单目运算符求字节数
在C语言中 相信大家都用过sizeof单目运算符求字节数,有时候要是求结构体类的字节数,总是求不对,那么这次菜鸟小编的我就花了两天的时间为大家从网上查资料,帮大家总解出来了。(测试基于linux fedora8) 原则1、数据成员对齐规则:结构(struct或联合union)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(原创 2015-07-25 20:30:05 · 1531 阅读 · 0 评论 -
malloc/free函数
malloc()函数用来在堆中申请内存空间,free()函数释放原先申请的内存空间。Malloc()函数是在内存的动态存储区中分配一个长度为size字节的连续空间。其参数是一个无符号整型数,返回一个指向所分配的连续存储域的起始地址的指针。当函数未能成功分配存储空间时(如内存不足)则返回一个NULL指针。由于内存区域总是有限的,不能无限制地分配下去,而且程序应尽量节省资源,所以当分配的内原创 2015-08-19 21:16:19 · 638 阅读 · 0 评论 -
论指针的类型用处
论指针的类型用处昨天看到有个代码,给了我对malloc开辟空间,和指针自增的进一步了解(源码)#include //printf() //(1)头文件信息#include //malloc() //(2)int main(void) //(3){int count;int* array; if((array=(int *)malloc(10原创 2015-08-20 16:00:11 · 448 阅读 · 0 评论 -
gcc 后 -l 和 -L的区别
-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供的库名字libtest.so,那么我们只要把libtest.so拷贝到/usr/lib里,编译时加上-ltest参数,原创 2015-09-07 14:30:27 · 502 阅读 · 0 评论 -
怎样使数据变为空
今天有人问我一个问题,怎样把运来已有的变量在是她变为空,当时我及问他你想干嘛,她说我自己想了道题:定义个字符数组,输入一串数据,判断一下各个字母出现的次数,例如avadfasdfasdfasdg这一串字符数组,a出现了5次,用两个for实现当时我问他自己的想法,她说我再定义一个数组,专门存储出现过的字母,当时我想这样很麻烦,而且浪费存储空间,然后我就想了个办法把出现过得字母原创 2015-11-04 17:55:29 · 540 阅读 · 0 评论 -
c清除缓冲区数据
如何清空输入缓冲区的内容C标准规定 fflush()stdout)缓存的。对于输入(stdin),它是没有定义的。但是有些编译器也定义了 fflush( stdin )的实现,比如微软的VC。其它编译器是否也定义了 fflush( stdin )的实现应当查找它的转载 2015-11-01 18:07:02 · 582 阅读 · 0 评论 -
内存碎片的产生
内存碎片的产生:内存分配有静态分配和动态分配两种。 静态分配在程序编译链接时分配的大小和使用寿命就已经确定,而应用上要求操作系统可以提供给进程运行时申请和释放任意大小内存的功能,这就是内存的动态分配。静态内存分配不会产生内存碎片。因此动态分配将不可避免会产生内存碎片的问题,那么什么是内存碎片?内存碎片即“碎片的内存”描述一个系统中所有不可用的空闲内存,这些碎片之所以不能被使用,是因原创 2016-11-20 20:11:27 · 577 阅读 · 0 评论