1. 程式人生 > >四種方式訪問陣列元素

四種方式訪問陣列元素

#include<stdio.h>

/*
 課堂練習2: 請問*(++p)與++(*p)的值各是多數?
 課堂練習3:用四種不同的方法來訪問陣列的元素
 課堂練習4:從字元陣列a中,拷貝到陣列b中
*/

int main() {

// 課堂練習2: 請問*(++p)與++(*p)的值各是多數?
	int a1[] = {10,20,30,40};
	//指標p指向第一個元素
	int *p = a1;

	//先對p+1   再取值
	// int value1 = *(++ p);
	//先取值,再對p+1
	int value1 = *(p ++);
	printf("value1:%d\n",value1);

	// int value2 = ++ (*p);
	int value2 = (*p) ++;
	printf("value2:%d\n",value2);

// 課堂練習3:用四種不同的方法來訪問陣列的元素

	int a2[] = {10, 20, 30, 40, 50};
	int *p1 = a2;

	for (int i = 0; i < 5; ++i)
	{
		//使用陣列的下標
		printf("%d\n",a2[i]);
		//使用指標
		printf("%d\n", *(p1+i));
		printf("%d\n", *(a2+i));
		//使用下標
		printf("%d\n", p1[i]);
	}

// 課堂練習4:從字元陣列a中,拷貝到陣列b中
	char a[] = "Hello";
	char b[10];

	//陣列的長度
	int len = sizeof(a)/sizeof(char);

	for (int i = 0; i < len; ++i)
	{
		char c = a[i];
		b[i] = c;
	}

	printf("%s\n",b);

	return 0;
}