查看: 1925|回复: 3

[其他] 每天解决一个问题34天 :void *的问题

[复制链接]
  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16702
    最后登录
    1970-1-1
    发表于 2015-9-27 23:19:18 | 显示全部楼层 |阅读模式
    本帖最后由 lkl0305 于 2015-9-27 23:27 编辑

    今天给大家分享一下void *的问题。

    ============================================

    一、问题描述:
    前些时在学习库函数时,发现有很多地方使用了void *,那这个到底是什么含义呢?
    比如:
    void *memset(void *s, int ch, size_t n);
    又再如:
    4001.jpg

    二、解决办法:
    1、首先,void 的含义是“空”,或“无类型”的含义。
    2、而*表示指针。
    3、那void *就表示“无类型指针”,那么即是可以指向任何数据类型的指针了。
    4、也就是说void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。

    比如:
    int *ap;
    void *p;
    p = ap;

    5、我们来看看memset(void *s, int ch, size_t n);函数中的参数void *s。
    表示任何类型的指针都可以传入memset中,这也真实地体现了内存操作函数的意义,因为它操作的对象仅仅是一片内存,而不论这片内存是什么类型。

    比如:
    char charray[100];
    memset(intarray,0,100*sizeof(char));

    又如:
    int  intarray[100];
    memset(intarray,0,100*sizeof(int));


    三、感想与收获:
    1、void *就表示“无类型指针”,是可以指向任何数据类型的指针。
    2、如果函数的参数可以是任意类型指针,那么应声明其参数为void*


    我知道答案 目前已有3人回答
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-9-28 09:27:01 | 显示全部楼层
    谢谢,学习了。。。 blank.png blank1.png blank2.png blank3.png blank4.png blank5.png blank6.png blank7.png blank8.png blank9.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-8-30 16:02
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    36

    主题

    1065

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1851
    最后登录
    2019-11-19
    发表于 2015-9-28 10:39:46 | 显示全部楼层
    为什么你还在“每天一个问题”
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-9-28 10:49:56 | 显示全部楼层
    学习了,谢谢分享
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 05:31 , Processed in 0.093193 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表