小编zip*_*ock的帖子

为什么最后两个print语句在类型转换指针'ptr'之后不打印任何内容?

我想看看将整数指针转换ptr为字符指针后会发生什么ptr0。但是,最后两个打印语句不会将任何输出打印到控制台。

#include <iostream>
using namespace std;

int main(void)
{
    int var  = 1025;
    int *ptr = &var;

    //~ addr of var
    cout << ptr << endl;

    //~ value of var - dereferencing 
    cout << *ptr << endl;

    char *ptr0;

    //~ typecasting int to char
    ptr0 = (char*)ptr; // also tried: ptr0 = (char*)&var

    cout << ptr0 << endl;
    cout << *ptr0 << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出显示:

0x7ffd6d8f4b94
1025
Run Code Online (Sandbox Code Playgroud)

预期结果:

0x7ffd6d8f4b94
1025

0x7ffd6d8f4b94
1
Run Code Online (Sandbox Code Playgroud)

c++ pointers

3
推荐指数
1
解决办法
96
查看次数

标签 统计

c++ ×1

pointers ×1