malloc()是用来开辟一个内存空间的,但是要开辟多大的呢?为了解决这个问题,所以要给这个函数加个参数,就是要开辟空间的大小(尽量sizeof函数实现)。
接着,问题又来了,我分配好了,要怎么返回给main函数呢,所以要有返回值,因为开辟的是空间,所以返回的是一个地址,当然要用指针接收了。指针的类型就是你要为那种类型的变量的指针
形式如下:
int i,*p;
p=(int *)malloc(sizeof(int));
追问能讲一下这种格式的意思吗,例如第一个括号内的内容有什么用,是什么意思
追答这个形式的意思是:分配一个大小为sizeof(int)的动态空间,并且返回一个地址由int型的指针p接收。(int*)是强制转换类型