在c语言中,int *p; p=(int *)malloc(100); *的位置为什么在强制类型转换的里边,而不是
答案:4 悬赏:60
解决时间 2021-01-02 09:55
- 提问者网友:无依无靠的距离
- 2021-01-02 07:00
p=(int)*malloc(100);
最佳答案
- 二级知识专家网友:糜废丧逼
- 2021-01-02 08:05
int* 是一个整体,被编译器识别解释为整型指针, 而不是你想当然的认为是 int *p,你学的谭浩强的书?坑人不浅啊。
* 永远跟着类型,而不是变量。除非你想间址
* 永远跟着类型,而不是变量。除非你想间址
全部回答
- 1楼网友:高冷不撩人
- 2021-01-02 09:05
前面的 (int *)是强制转换,后面的malloc(sizeof(int)); 是在内存中创建一个连续长度为sizeof(int)的区间之后再返回该区间的首地址给int * p
- 2楼网友:废途浑身病态
- 2021-01-02 08:54
你去看下动态链表的建立方法,动态开辟内存用malloc函数,函数原型:(void *)malloc(size_t size),函数原型说的很明白了
- 3楼网友:修女的自白
- 2021-01-02 08:15
malloc 是一个函数,(int *)的意思是分配的空间转强制换成变量p的类型 ,因为p是(int *)类型,也就是整型指针
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯