一个函数,用于返回分配得到的内存地址:
unsigned int mallocate(unsigned int size);
一个指针:unsigned int *p;
下面两个哪个是正确的?
1、p = (unsigned int *)mallocate(0x1234);
2、p = mallocate(0x1234);
我用的不是malloc,是自己写的方法,返回值是内存的地址值。
追答还是一样的,指针类型不匹配,肯定编译不成功,需要强制类型转换。
如果自己编写的函数,应该给出代码啊,要不如何判断?
也就是说用1的方法:分配的地址值addr强制转换成unsigned int指针赋给p,然后p的指针指向的地址就是addr?
那么判断p指针指向的地址的语句还是 if (p == (unsigned int *)addr)?
恩,都对,如有代码,明早再看
我用的mallocate返回的是内存的地址值,那么怎么给p这个指针?
比如说地址是0x12345678,那么p = 0x12345678?
第一个对,p = 0x12345678不对,p=(unsigned int*)0x12345678;