电子产业一站式赋能平台

PCB联盟网

搜索
查看: 279|回复: 0
收起左侧

揭秘 C 语言的 void 指针

[复制链接]
匿名  发表于 2023-1-31 17:50:00 |阅读模式
我是老温,一名热爱学习的嵌入式工程师
关注我,一起变得更加优秀!1 不能动的“地址”之 void指针1.1 void指针初探void *表示一个“不知道类型”的指针,也就不知道从这个指针地址开始多少字节为一个数据。和用int表示指针异曲同工,只是更明确是“指针”。
因此void *只能表示一个地址,不能用来&取值,也不能++和--移动指针,因此不知道多少字节是一个数据单位。    int nums[] = {3,5,6,7,9};
    void* ptr1 = nums;
    //int i = *ptr1; // 对于void指针没法直接取值
    int* ptr2 = (int*)nums;
    printf("%d,%d
",ptr1,ptr2);
    int i = *ptr2;
    printf("%d
",i);
从输出结果可以看出,无论是无类型的void指针还是int类型指针,指向的地址都是一样的:
回复

使用道具

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表