[英]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.