gpt4 book ai didi

c - 声明 C 指针 - 为什么我们使用 * 而不是 &

转载 作者:行者123 更新时间:2023-11-30 19:55:28 24 4
gpt4 key购买 nike

我的问题是一个关于指针声明的 C 语法的简单问题(我希望如此)。我完全清楚如何声明一个指针,如何使用它,以及它的作用是什么,如下。

int *val_ptr;
int val =99;

val_ptr = &val;

但是,令我困惑的是,为什么当我们在 C 中声明指针时,我们要使用 * 间接(值)运算符?而不是运算符的 & 地址。如果我们声明一个指针,那么使用 & 这样做是否没有意义,因为我们声明的是一个地址,对吗?示例:

int & val_ptr;
int val =99;

val_ptr = &val;

我知道这是不正确的,但在我看来,这似乎更直观。我在 * 运算符的概念中缺少什么。我还没有找到一本教科书可以解释为什么,它们只是展示了如何做。我知道怎么做,我想知道为什么。

感谢您的阅读。

最佳答案

指针声明语法试图模仿指针的用法。当你有

int *ptr;

那么*ptr的类型是int。

关于c - 声明 C 指针 - 为什么我们使用 * 而不是 &,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21369708/

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