
C语言
_mzz
这个作者很懒,什么都没留下…
展开
-
C语言 memset() 的功能和用法
函数名: memset功 能: 设置s中的所有字节为ch, s数组的大小由n给定用 法: void *memset(void *s, char ch, unsigned n);程序例:#include #include #include int m原创 2011-08-10 10:53:18 · 397 阅读 · 0 评论 -
存储类型
变量的存储类型是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保持多久。有三个地方可以用于存储变量:普通内存、运行时堆栈、硬件寄存器。 变量的缺省存储类型取决于它的声明位置。凡是在任何代码之外声明的变量总是存储于静态内存中,也就是属于堆栈的内存,这类变量成为静态变量。对于这类变量,你无法为它们指定其他存储类型。静态变量在程序运行之前创建,在程序的整个执行期间始终原创 2011-11-01 10:50:12 · 452 阅读 · 0 评论 -
malloc()与calloc()
malloc()与calloc() C语言跟内存分配方式 1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限原创 2011-11-14 16:31:56 · 345 阅读 · 0 评论 -
浅谈C中malloc和memset函数
在C中 malloc和memset是2个常用的对内存操作的函数。首先还是来看一下这2个函数的函数原型。1.malloc函数malloc函数用于从堆上分配指定字节的内存空间。void * malloc(size_t n);其中,形参n原创 2011-10-18 14:35:07 · 5953 阅读 · 1 评论 -
详细介绍C++中的引用
C++中的引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名 说明:(1)&在此不原创 2011-10-17 10:06:35 · 414 阅读 · 0 评论 -
const 的作用
这几天面试了几家公司,都有问到const的作用。因为我以前看过一篇文章,上面说你如果打了“只读”,就差不多了。不过今天面试,面试官问:cosnt除了“只读”还有没有其他的作用。我说不知道了。回来查了下资料,(1)可以定义 const 常量(2)const可原创 2011-10-12 22:05:25 · 547 阅读 · 0 评论 -
typedef和define的用法和详细区别
typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。 #define是预处理指令。下面让我们一起来看。typedef是C语言语句,其功能是用户为已有数据类型取“别名”。 例如: typedef原创 2011-08-22 16:41:55 · 518 阅读 · 0 评论 -
C中的strcpy()、strcat()、strcmp()、strncpy()、strncat()、strncmp()
以前C中的一些字符串函数经常困扰我,今天把一些常用的都列举出来: strcpy() 原型:extern char *strcpy(char *dest,char *src); 用法:#include 功能:把src所指由原创 2011-08-22 16:04:02 · 1155 阅读 · 0 评论 -
C语言的ADT和黑盒设计
C可以用于设计和实现抽象数据类型(ADT,abstract data type),因为他可以限制函数和 数据定义的作用域。这个技巧也被称为黑盒(black box )设计。抽象数据类型的基本思想 ----模块具有功能说明----模块所执行的任务 和接口说明----模块的使原创 2011-08-20 16:18:57 · 1886 阅读 · 3 评论 -
C/C++中Static的作用详述
1.先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c.下面是a.c的内容: c原创 2011-08-20 15:46:08 · 420 阅读 · 0 评论 -
C 指针 总结
对指针的一些总结 计算机内存中的每个位置都由一个地址标识。通常,邻近的内存位置合成一组,这样就允许存储更大范围的值。指针就是他的值表示内存地址的变量。 无论是程序员还是计算机都无法通过值的位模式来判断它的类型。类型是通过值的使用方原创 2011-08-18 21:39:26 · 612 阅读 · 0 评论 -
函数指针和指针函数
【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指原创 2011-08-16 17:13:13 · 336 阅读 · 0 评论 -
C语言的register
register可以用于变量的声明,提示他们应该存储于机器的硬件寄存器而不是内存中,这类变量称为寄存器变量。通常,寄存器变量比存储于内存的变量访问起来效率更高。但是,编译器并不一定要理睬register关键字,如果有太多的变量被声明为register,它只选取前几个实际存原创 2011-08-10 14:49:38 · 1800 阅读 · 0 评论 -
C语言的 malloc()和free() 的功能和使用
void * malloc(size_t size)size就是需要分配的内存字节数,如果内存池中的内存可以满足这个需求,malloc就返回一个指向被分配的内存块起始位置的指针。malloc分配的是一块连续的内存。例如,如果请求它分配100个字节的内存,那么它实际分配的内原创 2011-08-10 11:18:08 · 402 阅读 · 0 评论 -
C语言中的sizeof
一 基本概念sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。二 使用方法1、用于数据类型sizeof使用形式:sizeof(typ原创 2011-08-10 12:10:02 · 414 阅读 · 0 评论 -
内存泄漏
当动态分配的内存不再需要使用时,它应该被释放,这样它以后可以重新分配使用。分配内存但在使用完毕后不释放将引起内存泄漏(memory leak)。在那些所有执行程序共享一个通用内存池的操作系统中,内存泄漏将一点点榨干可用内存,最终使其一无所有。要拜托这个困境,只有重启系统原创 2011-08-10 12:02:27 · 323 阅读 · 0 评论 -
malloc、free与内存碎片!!
malloc和free大量使用后回造成内存碎片,那么这种碎片形成的机理是什么? 如果机理是申请的内存空间大小(太小)所形成的,那么,申请多大的区域能够最大限度的避免内存碎片呢?(这里的避免不是绝对的避免,只是一种概率)内存碎片一般是由于空闲的连续空间比要申请的原创 2011-08-10 11:24:06 · 870 阅读 · 0 评论 -
malloc 和 calloc 的区别
void *calloc(size_t num_elements,size_t element_size);void *malloc(size_t size);calloc和malloc都用于分配内存。1. malloc函数malloc函数可以从堆上获得指定字节的内存空间,其函数声明如下:void * malloc(int n);其中,形参n为要求分配的字节原创 2012-05-03 17:38:45 · 2241 阅读 · 0 评论