使用const void * in((struct str_name *)p) - > str_dataitem;

时间:2017-09-23 05:37:18

标签: c

我是C / C ++的初学者,我无法理解,在这段代码中到底做了什么:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="em_add">Add New</button>
<div class="logos">

  <div class="one">
    <input type="file" name="logo[]" id="logo" class="logo" />
  </div>
  
</div>

提前致谢!!

1 个答案:

答案 0 :(得分:1)

指针将地址(位置)存储在内存中,因此存储在指针本身中的数据(位置)不依赖于存储在该内存位置的实际类型。

当声明类型为void *的指针时,它基本上意味着指针存储可以是任何类型的变量/对象的地址(intfloat,{{ 1}}等等)。直接访问存储在void指针中的数据而不知道存储在那里的数据类型是没有意义的。

使用时

struct

你明确地告诉编译器它应该处理{和((struct str_name*)p)->str_dataitem; 处的内存,就像它存储类型为p的对象并访问存储在该结构中的struct str_name成员一样在str_dataitem