标题:一个关于结构体指针赋值的问题
只看楼主
Y影子Z
Rank: 3Rank: 3
来 自:石家庄
等 级:论坛游侠
帖 子:54
专家分:110
注 册:2012-10-12
结帖率:100%
已结贴  问题点数:10 回复次数:2 
一个关于结构体指针赋值的问题
typedef struct line Line;
typedef Line* LinePtr;
LinePtr dataPtr=malloc(sizeof(Line));
这样赋值有问题吗?C-Free 5.0 会提示error: conversion from `void*' to non-scalar type `line' requested
VS2008也是这样的问题,但是书上是这么用的啊。我不明白了。
搜索更多相关主题的帖子: 结构体 conversion 
2012-10-17 21:50
cn62577223
Rank: 2
等 级:论坛游民
帖 子:5
专家分:10
注 册:2012-10-17
得分:10 
LinePtr dataPtr=(Line *)malloc(sizeof(Line));

是否要在malloc前加个(Line *)
2012-10-17 22:00
Y影子Z
Rank: 3Rank: 3
来 自:石家庄
等 级:论坛游侠
帖 子:54
专家分:110
注 册:2012-10-12
得分:0 
回复 2楼 cn62577223
是强制转换吗?(书上的例子都没有转换)指针的类型不一样不能直接赋值吗?
还有扩展名是cpp就编译不通过,如果改成c就能编译通过,是不是也跟语言有关

[ 本帖最后由 Y影子Z 于 2012-10-17 22:18 编辑 ]

有光明必然会有黑暗,而影子,就是光明与黑暗的缝隙
2012-10-17 22:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-383466-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.257382 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved