void类型指针初探

之前学二位数组的时候就在想,有没有可能弄一种没有钦定类型的指针,这样的话自由度大大的提高,说不定可以玩出新花样
然后就有了,看一下代码:

#include <stdio.h>
int main(void)
{
  int var = 65535;
  void *ptr = &var;
  printf("%d\n",*(int*)ptr);
  return 0;
}

我们在上述代码中声明了一个var变量,赋值为65535,并且声明了一个指向varvoid类型指针ptr
void类型指针的自由度极高,在printf语句中,我们需要强制将其转为int*类型的指针才能让编译通过,这是因为如果我们不指明指针类型,printf函数就无法知道变量的类型,进而导致程序不可能正确执行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • void* 类型指针:通用变体类型指针;可以不经转换,赋给其他指针,函数指针除外;malloc返回的就是void*...
    冰吉凌阅读 8,662评论 0 18
  • C语言中内存分配 在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是...
    一生信仰阅读 4,924评论 0 2
  • 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...
    gfson阅读 8,650评论 0 6
  • 出发前我有点担忧 我是不是又在忽略物质忽略安全 就像考研的决定一样 更烦的是这可能是一次错的时间的旅行 我还有项目...
    去社阅读 988评论 0 0
  • 痛心疾首啊 我害死了一只平易近人的兔子 你可珍惜吧 不管是喜欢你的人还是兔子 要是死了 你啊 死的心都有 我可不...
    loo田阅读 1,774评论 0 0