c數組訪問方式

	int arr[5] = { 0,1,2,3,4};
	int len = sizeof(arr) / sizeof(int);
	int *p=arr;
	//指針遍歷1
	printf("指針遍歷1\n");
	for (; p < arr + len; ++p)
	{
		
		printf("%#x,%d\n", p, *p);
	}
	//指針遍歷2
	p = arr;
	printf("指針遍歷2\n");
	for (int i=0; i < len; ++i)
	{
		
		printf("%#x,%d\n", p + i, *(p + i));
	}
	//下標遍歷
	p = arr;
	printf("下標遍歷\n");
	for (int i = 0; i < len; ++i)
	{
		 //等價於printf("%#x,%d\n", a + i, a[i]);
		printf("%#x,%d\n", p + i, p[i]);
	}
	//逆向遍歷,反向輸出
	printf("反向遍歷\n");
	for (p = arr + len - 1; p >= arr; --p)
	{

		printf("%#x,%d\n", p, *p);
	}

out:

指針遍歷1
0x133fbc4,0
0x133fbc8,1
0x133fbcc,2
0x133fbd0,3
0x133fbd4,4
指針遍歷2
0x133fbc4,0
0x133fbc8,1
0x133fbcc,2
0x133fbd0,3
0x133fbd4,4
下標遍歷
0x133fbc4,0
0x133fbc8,1
0x133fbcc,2
0x133fbd0,3
0x133fbd4,4
反向遍歷
0x133fbd4,4
0x133fbd0,3
0x133fbcc,2
0x133fbc8,1
0x133fbc4,0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章