yofer张耀琦的专栏

数学之法,世界之道

文件操作:fseek函数和ftell函数

1、fseek函数: int fseek(FILE * _File, long _Offset, int _Origin); 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败则不...

2015-06-06 16:05:00

阅读数:1539

评论数:0

结构体内存泄漏

#include #include union A { char a; char *b; // 联合体的指针成员要特别注意 }; int main() { A a; a.b = (char *)malloc(10); // b指向了一个堆的地址 // 如果联合体中有指针成员,那么...

2015-06-06 09:12:18

阅读数:567

评论数:0

结构体变相实现数组赋值

struct name { char array[10]; }; int main() { char name1[10] = "name1"; char name2[20] = "name2"; name1 = name2; // 这里是出错的,不...

2015-06-05 23:49:29

阅读数:416

评论数:0

结构体内存对齐模式

结构体内存对齐模式各种情况详解 #include struct A { int a; // 此时结构体占用4个字节 char b; // 此时结构体占用8个字节 char c; // 还是8个字节 char d; // 还是8个字节 char e; // 还是8个字节 char ...

2015-06-05 23:21:04

阅读数:467

评论数:0

malloc、calloc、relloc

1、malloc void * malloc(size_t _Size); malloc函数在堆中分配参数_Size指定大小的内存,单位:字节,函数返回void *指针。 2、calloc void * calloc(size_t _Count, size_t _Size); callo...

2015-06-04 11:10:51

阅读数:433

评论数:0

操作系统处理内存时内存页为4k

windows和unix处理内存时,一个内存页的大小都为4k。 测试代码 int main() { while (1) { int *p = (int *)malloc(1024); getchar(); } return 0; } 回车四次,程序内存增加一次,每次增加4k。

2015-06-04 11:01:55

阅读数:597

评论数:0

C语言内存四区

1、代码区 代码区code,程序被操作系统加载到内存的时候,所有的可执行代码都加载到代码区,也叫代码段,这块内存是不可以在运行期间修改的。 2、静态区 所有的全局变量以及程序中的静态变量都存储到静态区。 3、栈区 栈stack是一种先进后出的内存结构,所有的自动变量,函数的形参都是由编译器自动放...

2015-06-03 17:42:27

阅读数:954

评论数:0

C语言省略extern的缺陷

在一个文件中(比如a.c)定义一个全局变量int a = 10; 然后在另一个代码文件(比如main.c)中需要使用变量a,可以写 int a; 单独看main.c文件时就会出现二义性,一个含义是当其他文件中没有定义过全局变量a,则这里定义一个变量a。另一个含义是当其他文件中包含声明全局变量...

2015-06-03 16:58:20

阅读数:477

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭