计算机c语言中 int *p; p=(int*)malloc(sizeof(int)); 什么意思

如题所述

int *p;//定义一个指向整型的指针变量
p=(int*)malloc(sizeof(int));
/*建立(动态申请)一块内存空间,建立的内存空间为一个整型变量的长度,并把建立的空间地址转化成指向整型的指针赋值给前面的整型指针变量p*/
如果这块动态内存不释放,相当于把一个整型变量的地址给前面的指针
例如:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int * p;
p=(int *)malloc(sizeof(int));
*p=5;
printf("p的地址是%d\n",&p);
printf("p的长度是%dByte\n",sizeof(p));
printf("p的值是%d\n",p);
printf("p指向地址的值是%d\n",*p);
printf("p指向地址的值的长度是%dByte\n",sizeof(*p));
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-03
申请一个int大小的内存空间,这个空间的地址以int类型赋给p。
第2个回答  2015-03-03
动态申请一块内存,长度为一个int的字节数,视操作系统16/32/64而定。
内存首地址保存在变量 p 中。
相似回答