[英]Assigning Pointers to Variables vs Assigning Pointers to Arrays in C
大家好,我正在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
当您初始化像'int arr []'这样的数组时,数组'arr'的名称指向数组的第一个元素。 因此基本上是arr ==&arr [0]。这在编程中特别有用,因为在发送数组值时,仅发送第一个元素的地址,而将其余元素的地址链接到第一个元素的地址。 因此,可以通过*(arr + i)访问数组中的元素,其中“ i”表示元素的索引。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.