C指针问题之不同类型指针之间的区别

本文探讨了C语言中不同类型的指针(如int、double等)的区别,指出虽然指针本质上是地址,但类型定义至关重要。通过示例展示了未指定类型(void*)指针在取值时的错误,并解释了指针运算规则:指针加N相当于向前移动N个数据类型的长度。

会想这样的一个问题:

== 指针就是地址吧,那么指向int 的指针也好,指向double的指针也好,他们有什么不同么==

emmmm
貌似也有一定道理。

Solution

既然我们无法从正面解释,那我们就先设定一个“万能指针”
看我接下来这段操作:
在这里插入图片描述
在这里我创建了一个“可以指向任何类型的指针类型”——void*类型

但是当我运行的时候,出现了一个错误:在这里插入图片描述
仔细想一下,如果仅仅知道了地址,但是不知道保存的数据类型,也是无法取出值的。
也就是说,上边的错误和下边的错误是一样的在这里插入图片描述
也会报同样的错误。

如果我们把第一个做法中printf函数稍作更改

printf("%d\n",*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值