gpt4 book ai didi

c++ - 将数字地址分配给指针

转载 作者:行者123 更新时间:2023-12-02 09:47:50 26 4
gpt4 key购买 nike

int *n=(int *)5;//Valid
cout<<*n;//Invalid
为什么指针n可以指向一个地址,尽管5不是存储位置。
为什么我无法在屏幕上打印出n的值。

最佳答案

您试图取消引用内存地址0x5,这可能是受限内存。

int *n=(int *)5;
您正在将整数文字5转换为 int*。这意味着您说的是0x5是一个地址。尝试使用 *n取消引用该指针时,会出现错误。
相反,您需要执行以下操作:
int five = 5;
int *n = &five;
cout << *n;
不要使用 (int *),请使用地址操作符 &。另外请记住,除了字符串文字,您不能使用文字的地址。

关于c++ - 将数字地址分配给指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63832286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com