189 8069 5689

如何在C语言中把int*转化为char*-创新互联

初学指针我们可能会遇到如下代码:

创新互联主营七里河网站建设的网络公司,主营网站建设方案,App定制开发,七里河h5小程序开发搭建,七里河网站营销推广欢迎七里河等地区企业咨询
#includeint main()
{
 int a = 0x11223344;
 int* pa = &a;
 char* pc = &a;
 printf("%p\n",pa);
 printf("%p\n",pc);

 return 0;
}

但是有的vs版本输入这段代码会报错,运行不了,报错的原因是:无法从int*转化到char*。所以这时候就需要我们将int类型强制转化为char类型,那我们就可以用reinterpret_cast(强制类型转换符)。

所以将以上代码修改为如下代码段:

#includeint main()
{
 int a = 0x11223344;
 int* pa = &a;
 char* pc = reinterpret_cast(&a);
 printf("%p\n",pa);
 printf("%p\n",pc);

 return 0;
}

reinterpret_cast的用法:

reinterpret_cast(expression)

reinterpret_cast后面的<>中的type-name类型必须是一个指针、引用、算术类型、函数指针或者指针成员,它可以把一个指针类型转换成一个整数,也可以把一个整数转换成一个指针。


以上是我学习指针时遇到的一个小问题,在借鉴了其他文章以及报错的提醒内容后解决了该问题,希望能给遇到同样问题不知道怎么解决的小伙伴一个小小的帮助喔😃

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章题目:如何在C语言中把int*转化为char*-创新互联
本文路径:http://cdxtjz.cn/article/coppjd.html

其他资讯