(int*)malloc(sizeof(int)*n)????不懂什么意思,

2025-02-27 21:54:27
推荐回答(3个)
回答1:

就是分配 n个int空间
平时我们使用数组, int a[3];编译器会自动为我们分配3个空间,
如果我们想自己分配空间,也就是动态分配时:
int *p=(int*)malloc(sizeof(int)*3);
也是分配三个空间。

回答2:

是一样的,第一个*是与int
合在一起,表示int
型的指针
第二个*是乘号,malloc的参数是要申请的内存的大小,sizeof(int)
*
n
或者
n*sizeof(int)的意思都是一样的,这句话的意思是
,sizeof(int)=4,所以这句话的意思是申请一块
4*n
字节的内存空间,
这句话一般是用来申请动态int型数组的

回答3:

sizeof(int)是求int型数据所占内存大小(按4),具体和编译器有关(多数是4字节,如:VC++ 6.0,VS 2005等,在Turbo C中是2字节),sizeof(int)*n就是申请n个连续的int类型的内存,就是连续4*n个字节的内存单元,返回值是这连续4*n个字节的首地址~~~