C语言-用指针实现内存动态分配

Python010

C语言-用指针实现内存动态分配,第1张

在C语言中,动态分配内存是通过动态存储分配函数 malloc() 来实现的,其功能是:

运行结果

运行结果

注意:

动态存储分配函数 void free(void *p) 功能:

注意:

1.

这两句话区别很大

2.

googs

head

定义了head对象,这里head是在栈空间上的变量,并且有相应的内存空间

3.

p

=

&head就是领指针p指向了head的内存空间,以后就可以用p代替head,进行相关的操作了

4.

p

=

NULL,说明p不指向任何内存空间

5.

p->lc在这里还没有为lc分配内存空间

Int*p:第一级指针,表示p点所在地址是一个100Int类型的值,p被声明为一个指向整数的指针,并且为这个指针分配了存储空间。但在这种情况下,它是一个随机数,我们称之为指向一个不确定的内存地址。

当用户说“direct*p=5”时,在一个不可预知的内存地址上写入一个整数5。这是不允许的,并可能导致程序崩溃。

P = &a然后,将现有变量a的地址写入指针p,我们说指向a的指针可以通过变量p对变量a进行正常操作。

扩展资料:

指针:

指针的表示法是地址,核心是指向关系的指针,操作符“*”的作用是根据关系访问所指向的对象。如果版本与B有指向关系,则A为B的地址,“*A”表示通过该指向关系间接访问B。

如果B的值是一个指针,它指向C,BC地址,间接访问,CB“*”如果C是整数,真实的,或结构,如类型变量或数组元素对于这些类型的数据,BC(即地址)是通用的指针,即主要指的是右边的针,持有一级指针变量指针变量。