将指针分配给变量vs将指针分配给C中的数组

法兰克26

大家好,我正在tutorialspoint.com上阅读C语言中的指针

但是,给指针分配地址有些不一致,这让我感到困惑。

举两个例子:

/* Assigning address of variable to a pointer */
int  var = 20;   
int  *ip;        
ip = &var;  

/* Assigning address of an array to a pointer */
int  array[] = {10, 100, 200};
int  *ptr;
ptr = array;

为什么我们要分配一个像ip =&var这样的变量的地址。但是,当我们分配数组的地址时,“&”字符会丢失,例如:ptr = array。

有人可以澄清这种混乱吗?本示例取自tutorialspoint.com

莎阿迪尔

这是因为在C编程中,数组的名称始终指向数组的第一个元素的地址。

更新示例:

例如:int arr [4];

在此处输入图片说明

arr和&arr [0]指向第一个元素。

由于两者的地址相同,因此arr和&arr [0]的值也相同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章