复制指针中的数据
如何复制另一个指针指向的数据?
我有以下内容
void *startgpswatchdog(void *ptr)
{
GPSLocation *destination;
*destination = (GPSLocation *) ptr;
这会正确执行此操作吗?
我在传递数据后释放了传递到线程的数据,因此我需要复制数据。
How does one copy the data that is pointed to by another pointer?
I have the following
void *startgpswatchdog(void *ptr)
{
GPSLocation *destination;
*destination = (GPSLocation *) ptr;
Will this do this correctly?
I free the data that is passed into thread after passing it, so I need to copy the data.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您想复制数据,您应该通过
malloc
分配新内存,然后通过memcpy
复制内存。If you want to copy data you should allocate new memory via
malloc
, then copy your memory viamemcpy
.如果您要复制的指针实际上指向某个东西,您就可以这样做:
或者更好:
You can do it if the pointer you ae copying to actually points at something:
or perhaps better:
在分配给指针指向的地址之前,您需要先分配内存。
为什么这里需要一个指针?为什么不使用
,稍后如果您需要这个变量地址,只需使用
,不要忘记它是一个局部变量:)
you need to allocate memory before you assign to the address pointed by the pointer.
why do you need a pointer here ? why not use
and later if you need this variable address just use
just dont forget its a local variable :)