【发布时间】:2018-10-08 11:24:30
【问题描述】:
指针可以有价值吗? 那么在什么情况下使用呢
int num=100;
int* iptr=NULL;
iptr=reinterpret_cast<int*>(num);
printf("%d \n",num);
printf("%d \n",num);
结果 100 100
【问题讨论】:
-
iptr=reinterpret_cast<int*>(num);没有 C 意义; C 标记已删除。 -
请澄清问题。指针有值是什么意思?而且您的代码两次打印同一个变量,所以结果显然是 100 100。这里没有以任何方式使用指针。
-
完全不清楚问题是什么。您的代码的基本作用是:它将 100 分配给
num,然后将值打印两次。不需要指针来理解发生了什么,但打赌你担心中间的那两条线(目前对你的代码输出的影响为零) -
指针的值就是它所指向的地址。
-
不确定我是否理解这个问题。你是在问一个整数什么时候代表一个有效的地址?
标签: c++ pointers data-structures pointer-conversion