程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言入門知識 >> C語言數組a[i]==i[a]

C語言數組a[i]==i[a]

編輯:C語言入門知識

The C standard defines the [] operator as follows:

a[b] == *(a + b)

Therefore a[5] will evaluate to:

*(a + 5)
and 5[a] will evaluate to:

*(5 + a)
and from elementary school math we know those are equal.

This is the direct artifact of arrays behaving as pointers, “a” is a memory address. “a[5]” is the value that’s 5 elements further from “a”. The address of this element is “a + 5″. This is equal to offset “a” from “5” elements at the beginning of the address space (5 + a).

 

#include 	

int main()
{
	int a[10]={9,2,3,4,7,6,5,8,1,10};
	//a[b]=*(a+b)
	printf("%d\n",a[5]);
	printf("%d\n",*(a+5));
	printf("%d\n",*(5+a));
	printf("%d\n",5[a]);

	return 0;
}

array

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved