C语言自学笔记15----C 语言 void指针

C 语言 void指针
如果我们声明了int指针,则此int指针不能指向float变量或某种其他类型的变量,即它只能指向int类型的变量。 为了克服这个问题,我们使用了指向void的指针。 指向void的指针表示可以指向任何数据类型的通用指针我们可以将任何数据类型的地址分配给void指针,并且可以将void指针分配给任何类型的指针,而无需执行任何显式的类型转换。
*void指针的语法
void pointer name;

下面给出了void指针的声明:
void *ptr;
在上面的声明中,void是指针的类型,而’ptr’是指针的名称。
int i=9; //整型变量的初始化。
int *p; // 整数指针声明。
float *fp; // 浮点指针声明。
void *ptr; //void指针声明。
p=fp; // 错误.
fp=&i; // 错误
ptr=p; // 正确
ptr=fp; // 正确
ptr=&i; // 正确
C语言中void指针的大小
C语言中void指针的大小与字符类型的指针的大小相同。指向void的指针的表示形式与字符类型的指针相同。
#include <stdio.h>
int main()
{
void *ptr = NULL; //void 指针
int *p = NULL;// 整型指针
char *cp = NULL;//字符指针
float *fp = NULL;//浮点指针
//void指针的大小
printf(“void指针的大小 = %d\n\n”,sizeof(ptr));
//整型指针的大小
printf(“整型指针的大小 = %d\n\n”,sizeof§);
//字符指针的大小
printf(“字符指针的大小 = %d\n\n”,sizeof(cp));
//浮点指针的大小
printf(“浮点指针的大小 = %d\n\n”,sizeof(fp));
return 0;
}
输出结果
void指针的大小 = 4
整型指针的大小 = 4
字符指针的大小 = 4
浮点指针的大小 = 4
void指针可以存储任何类型的对象,并且我们可以通过使用带有适当类型转换的间接操作符来检索任何类型的对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值