当前位置:首页 > 内存 > 正文

c语言开辟内存空间

  • 内存
  • 2024-06-04 05:01:27
  • 7997

一、C语言中定义数组的时候,如何开辟一段内存,内存里有无初值?C语言是一种高级语言。定义数组的指令将被转换为分配内存的指令。该内存是否被初始化取决于编译器的实现。
你在这个实验中做得很好。通过你的实验,你可以了解编译器是如何实现的。


二、C语言类型题main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);malloc函数在堆中分配一部分内存。内存大小就是传递的参数,sizeof(char)*20就是20个字节。
返回值的类型为void*。使用(char*)强制转换使类型匹配。
q=p后,q和p指向同一个内存位置。
scanf("%s%s",p,q);由于p和q指向同一个空间,因此首先输入ijk并将其插入到p中。事实上,*p和*q都是ijk。
输入xyz,然后输入q,p和q指的是xyz。