c语言 使用char*遍历int字节 借助void*

本文通过一个C语言示例,深入探讨了int类型变量在内存中如何占用4字节空间,以及如何使用char指针和void指针遍历这4个字节。通过对int变量b的内存地址和内容进行详细分析,读者可以更直观地理解内存布局和数据类型之间的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个int占4字节,一个char* 可指向一个字节,借助void*实现遍历int 4个字节

#include <stdio.h>
 
int main ()
{
	int b=123456789;
    void* vp;
    vp = (void*)&b;
    
    printf("b:%x,b+1:%x\n",&b,&b+1);
    printf("vp:%x,vp+1:%x\n",vp,(char*)vp+1);
    
    printf("int b:%x\n",b);
    printf("int[0]:%x\n",*(char*)vp);
    printf("int[1]:%x\n",*((char*)vp+1));
    printf("int[2]:%x\n",*((char*)vp+2));
    printf("int[3]:%x\n",*((char*)vp+3));

    return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值