个人理解—void是什么

        首先,编程语言分为两种,一种为强类型语言,另一种为弱类型语言。其中强类型语言为固定的内存占用与解析方法。弱类型语言为无类型概念,一般为字符串用时再根据需求进行处理。

        C语言中几乎所有的变量都有明确的类型,编译器要这个变量的解析方式以及变量大小。从而可以看出,数据类型的作用有两点:变量大小;解析方式。无类型的一个数据,分配不了内存,解析不了数据。

        上面说到,C语言是几乎所有数据都有明确的类型,但也存在没有类型的内存,但不能有没有类型的变量。换个说法就是,可以先不绑定内存。实际上纯粹的内存是没有数据类型这一说的,只有当内存与变量相关联(通过编译器关联),也才有了数据类型,也就有了相关的读与写的相关方法。

        void类型的本质:不确定类型,不知道类型,数据类型待定,数据后面有类型但现在不着急。当进行描述还未具体使用内存时,类型使用void。

        malloc返回的是一段连续内存的头指针,此指针无类型,因为都不知道里面放什么类型的数据,所有不能返回一个具体类型的指针,这是一个不确定类型的空间。

        void*不确定,那么就强制类型转换为一个具体的类型去使用。

int *p=(int *)malloc(4);

        void*转int*不会报warning,不可以void a =4,因为a没有类型,没有大小,没有相关解析方式。

        void类型使用的最多的就是指针。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值