摘要:
局部变量也称为自动变量,他总是分配在栈帧上。 3.1 程序的堆和栈 3.1.1 程序栈 程序栈是支持函数执行的内存区域,通常和堆共享。也就是说,程序栈和堆共享同一块内存区域。程序栈通常占据这块区域的下部,而堆用的则是上部。 程序栈存放栈帧(stack frame),栈帧有时也称为活跃记录或活跃帧。栈 阅读全文
摘要:
2.1 动态内存分配 malloc函数的参数指定要分配的字节数。如果成功,它会返回从堆上分配的内存的指针。如果失败则会返回空指针。 sizeof操作符使应用程序更容易移植,还能确定在宿主系统中应该分配的正确字节数。 在释放用struct关键字创建的结构体时也可能发生内存泄漏。如果结构体包含指向动态内 阅读全文
摘要:
1.1.1 指针概述 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 指针的类型:从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。 1) int *ptr; //指针的类型是int * 2) char *ptr; // 阅读全文
摘要:
1.此程序运行结果:0 1 2 3 4 5 递归调用 #include<stdio.h> #include<stdlib.h> fun(int k) { if (k > 0) fun(k - 1); printf(" %d",k); } void main() { int w = 5; fun(w) 阅读全文