
编程语言
lxhjjz
执着的攀登者
展开
-
typedef用法小结
原文出处第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量转载 2012-08-29 10:33:13 · 507 阅读 · 0 评论 -
指针使用不当引起断错误
今天一个小程序报断错误,经查是定义了指针就对其进行操作引起的,现在做个小结。1.char *p;2.char p[100]3.char *p=malloc(100);对1,只是定义了一个随机指针,地址未知,直到给它赋值才能知道具体地址,断错误就是发生在这个指针的操作。对2、3,定义时就指定了具体的地址,不同的是如果2出现在函数体内,函数体内定义的局部变量是auto变量,原创 2012-09-04 17:34:17 · 566 阅读 · 0 评论 -
C语言中return和exit的区别
转自1,exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件。exit是结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程,转载 2012-09-06 09:05:53 · 988 阅读 · 0 评论 -
堆和栈
非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回转载 2012-09-06 10:10:45 · 550 阅读 · 0 评论