第1个回答 2012-03-06
5*sizeof (int ) 这个大小为5*4=20字节 一个int 4个字节 所以malloc (5*sizeof (int ))为申请了一个大小为20字节的空间 ,malloc这个函数返回的是地址 而在他前面加了(int*)这是强制转换 就是说返回的地址为int型 array=。。这个你懂得 就是把地址赋给他 ,最后 ==null 这个就是在判断 申请空间是否成功了本回答被提问者采纳
第2个回答 2012-03-06
malloc()是分配空间,里面的5*sizeof (int )给出了要的空间大小为5个int型变量的大小,malloc返回的是void类型的指针,你需要的是int型的指针所以再进行一次类型强制转换,就是那句(int *),把得到的地址赋给array,做判断,如果这个指针为空即==null则if()满足条件,执行if体里面的代码
第3个回答 2012-03-06
前面的int*就是强制转换分配的空间的类型,其实也可以省略,因为系统默认的就是int型,然后sizeof是一个计算占内存空间的函数,在这里就是计算一个int占几个字节,然后5*就是需要五个空间,if语句就是普通的判断了,明白了不?
第4个回答 2012-03-06
分配一个能存放5个整型字节的内存空间,并用整型指针array指向内存的首地址。而if的作用是判断array指向的是否为空,若为空(即内存分配失败),则继续向下执行语句。明白了吧,呵呵。