gpt4 book ai didi

c - 术语 : what's a pointer?

转载 作者:太空宇宙 更新时间:2023-11-04 06:16:52 28 4
gpt4 key购买 nike

我是初学者,我在编程中发现了术语指针的几种定义。我想知道哪一个是正确的(也许两个都是)?

a - 指针是保存内存地址的变量。鉴于此定义,在以下代码 char *msg; 中,我们可以说变量 msg 是指向 char 的指针。

b - 指针是内存中数据的地址。鉴于此定义,函数 malloc 返回的值 0x01020304 是一个指针。

最佳答案

在一行中,我可以说指针是内存地址。变量它包含另一个变量在内存中的地址。

  • 一元或一元运算符 & 给出变量的地址。
  • 间接或取消引用运算符 * 给出“指针指向的对象的内容”。

关于指针的简要信息:

int foo;
int *foo_ptr = &foo;
  • 第 1 行:这个变量占用了一些内存。在目前主流的英特尔处理器上,它占用了一些(例如:4字节的内存(因为一个int是四个字节宽)。

  • 第 2 行:foo_ptr 被声明为指向 int 的指针。我们已将其初始化为指向 foo。

    enter image description here

我尝试将每个变量可视化为一个框。 foo 是一个大小为 sizeof(int) 字节的框。这个盒子的位置就是它的地址。当您访问该地址时,您实际上访问了它所指向的框中的内容。

关于c - 术语 : what's a pointer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43615221/

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