#include<malloc.h>//头文件
malloc 开辟的是字节数
malloc 只负责空间的开辟 不负责类型的说明
malloc出来的是无类型指针
其类型由自己的强转决定
malloc开辟的空间在堆中 程序结束后 这块空间不会被释放
因此 ip指向的malloc开辟空间的首地址 可以被return
但数组放在栈区 函数结束后空间被回收 因此数组名不可以被return
int main()
{
int *ip = NULL;
char *cp = NULL;
int n = 0;
cin>>n;
if(n<=0) return 0;
ip = (int *)malloc(sizeof(int)*n);
for(int i = 0;i<n;i++)
{
ip[i] = i;
}
cp = (char *)malloc(sizeof(char)*n);
for(int i = 0;i<n-1;i++)
{
cp[i] = i + 'a';
}
cp[n-1] = '\0';
free(ip);
free(cp);
}
错误示范
int n = 10;
int *p = NULL;
p = (int *)malloc(sizeof(int)*n);
fo