使用malloc动态分配内存
- - -【这是靓仔呀】- - -
#include<stdio.h>
#include<stdlib.h>
//malloc()函数在stdlib头文件里!!!
//使用malloc创建动态数组,创建的动态数组在内存中和数组一样是连续存放的
int main()
{
/*注释1:格式:(void *)malloc(这里面是你想分配的内存大小,单位:字节)
eg:malloc(20)表示申请20个字节的动态数组
如果申请分配内存成功,则返回内存空间首地址*/
/* 注释2:malloc()返回的指针类型是void *,即不确定的指针类型,
在使用时,需要强制类型转换!!!!
#eg:int *p=(int *)malloc(memory_size),
char *q=(char *) malloc(memory_size),*/
//接下来创建一个动态数组
int i,temp;
printf("请你输入数组的长度:\n");
scanf("%d",&temp);
int *p=(int *)malloc(sizeof(int)*temp);
//即分配4*i个字节大小的内存空间
//接下来用循环给对应内存赋值
printf("给%d个int型内存空间赋值:\n",temp);
for(i=0;i<temp;i++)
{
scanf("%d",p+i);
}
//接下来输出对应内存中的数值
printf("输出对应int型内存空间里面的值:\n");
for(i=0;i<temp;i++)
{
printf("%d ",*(p+i));
}
free(p);
return 0;
}