const void* 赋值给void*的问题

tommir3 2016-03-26 12:22:52
现有结构:
struct Node
{
void* value;
....//其他参数不作描述
....
}
现有一函数:
int myFunction(const void* val)
{
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->value = val;//这里肯定是错误的,想问如何处理?
}
先不考虑设计有没有问题,如何把const void*赋值给void*,重新申请const void*大小的内存空间,在复制进去吗?类似strcpy那种?
新手问问题,请大家不要赋值粘贴,多多给讲解下,谢谢各位热心前辈了。
...全文
743 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tommir3 2016-03-29
  • 打赏
  • 举报
回复
没人给答案,算了,自己摸索把。
tommir3 2016-03-26
  • 打赏
  • 举报
回复
刚才网页特别卡,写的也不太明确。 类似char* 我对const char×的处理是: int len = strlen(str); char* newstr = (char*)malloc(sizeof(char) * len); strcpy(newstr,str); 这是我对常量字符串的赋值做的复制赋值, 但是对const void×如何做类似处理不太知道。 我知道对常量是不能改变的,但复制出来后,就是可变的了。 void*如何做呢?
动力风暴 2016-03-26
  • 打赏
  • 举报
回复
引用 4 楼 tommir3 的回复:
[quote=引用 3 楼 adusuccessfully 的回复:] [quote=引用 2 楼 tommir3 的回复:] 其实可以转换一下, void* value = (void*)val; 可以使用的,但是如果向修改值是不可以的? 我还向问的是,如果向改变成可修改的,如何把val复制出一份给value
如果想修改就将int myFunction(const void* val)声明为int myFunction(void* val) [/quote] 改动函数传入参数和Node结构的前提下,如何修改/?[/quote] 楼主问得是改动函数传入参数和Node结构的前提下,如何修改把? const int * p表示const修饰*p,指针p指向的内容(既*p)不能改变; int * const p表示const修饰p, 指针p的地址不能改变,但指向的内容可以改变;
tommir3 2016-03-26
  • 打赏
  • 举报
回复
引用 3 楼 adusuccessfully 的回复:
[quote=引用 2 楼 tommir3 的回复:] 其实可以转换一下, void* value = (void*)val; 可以使用的,但是如果向修改值是不可以的? 我还向问的是,如果向改变成可修改的,如何把val复制出一份给value
如果想修改就将int myFunction(const void* val)声明为int myFunction(void* val) [/quote] 改动函数传入参数和Node结构的前提下,如何修改/?
动力风暴 2016-03-26
  • 打赏
  • 举报
回复
引用 2 楼 tommir3 的回复:
其实可以转换一下, void* value = (void*)val; 可以使用的,但是如果向修改值是不可以的? 我还向问的是,如果向改变成可修改的,如何把val复制出一份给value
如果想修改就将int myFunction(const void* val)声明为int myFunction(void* val)
tommir3 2016-03-26
  • 打赏
  • 举报
回复
其实可以转换一下, void* value = (void*)val; 可以使用的,但是如果向修改值是不可以的? 我还向问的是,如果向改变成可修改的,如何把val复制出一份给value
encoderlee 2016-03-26
  • 打赏
  • 举报
回复
看void* value;会不会修改它所指向的内存,如果不会就声明为const void* value; 如果会,就把int myFunction(const void* val)声明为int myFunction(void* val)

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧