C语言,第1张

C语言,第2张

我们可以定义指针变量来指向任何类型的变量。在上面的处理中,指针变量所指向的变量是通过传递变量的地址来实现的。指针的值就是内存的地址,这个地址应该是安全的,而不是任意的。否则,写入存储单元的值将导致存储的数据或程序丢失。应该使用编译系统提供的标准函数来实现地址分配。

ANSI标准建议动态分配内存的两个最常用的函数malloc()和free()是在slib.h中设置和包含的,但有些C编译是由malloc.h包含的,使用时请参考具体的C编译版本。

我们这里所说的动态内存分配是指,当定义指针变量时,它们的值是随机的,可能指向内存的任何单元。如果指针指向不安全的内存地址,那么地址空之间的数据交换会产生意想不到的效果。因此,在程序执行过程中,为了保证指针操作的安全性,有必要

指针分配一个安全地址。程序执行期间指针变量的地址分配称为动态内存分配。

当不需要指针变量时,分配的内存可以返回给系统。这个过程叫做内存单元的释放。

Malloc()用于向编译系统申请内存分配;Free()用于在使用后释放被占用的内存。

【例6-21】两根弦的互换。

#包括

#包括

#包括

主()

{

char *p1、*p2、* temp

P1 = malloc(30);/*为指针变量动态分配30字节存储空空间*/

p2 = malloc(20);

temp = malloc(30);

printf(" inputs 1:");

获取(P1);/*输入字符串*/

printf(" inputs 2:");

获取(p2);

printf(" S1-S2 \ n ");

printf("%s.......%s\n ",p1,p2);

scpy(温度,P1);/*字符串复制*/

scpy(p1,p2);

scpy(p2,temp);

printf(" S1-S2 \ n ");

printf("%s.......%s\n ",p1,p2);

免费(P1);

免费(p2);

}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情