gpt4 book ai didi

c++ - 指针的大小(*变量 VS 变量)

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

根据我的理解,在32位机器上,指针的sizeof是32位(4字节),而在64位机器上,它是8字节。无论它们指向什么数据类型,它们都有固定的大小。我的计算机在 64 位上运行,但是当我打印包含 * 的大小时,我得到 4 。为什么 ?打印变量和打印*变量有什么区别。

   int *name = NULL;
int *add = NULL;

cout<< sizeof (*name) << endl; // Prints 4
cout << sizeof (add); //Prints 8

最佳答案

* 运算符取消引用指针。换句话说,它给了你它所指向的东西。

name 的类型为 int *,因此 *name 的类型为 int。这意味着 sizeof(*name)sizeof(int) 相同,在您的系统上为 4。

同样,add 的类型为 int *。这意味着 sizeof(add)sizeof(int *) 相同,在您的系统上为 8。

关于c++ - 指针的大小(*变量 VS 变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59384841/

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