1. 程式人生 > >C語言之陣列(陣列賦值的三種形式)

C語言之陣列(陣列賦值的三種形式)

在C語言中,對陣列進行賦值的三種形式

1、通過迴圈的形式     即:陣列名[下標]      對陣列的元素進行依次賦值

#include <stdio.h>
int main()
{
    int i;
    
    int a[10] = {0};
    for(i=0;i<10;i++)
    {
         scanf("%d",&a[i]);
    }
    for(i=0;i<10;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

2、通過迴圈的形式     陣列名+下標  

     對陣列的元素進行依次賦值

#include <stdio.h>
int main()
{
    int i;
    int a[5];   // 陣列名:a 是陣列首元素的地址 -----相當於一個指標  是一個常量  
                //指標+整型值,表示地址的前移,前移的位元組由指標指向的物件的型別決定
                //b+1;  前移4個位元組(int型)

    printf("%#p\n",a);        //列印輸出陣列a的地址 相當於a[0]的地址
    printf("%#p\n",&a[0]);
    printf("%#p\n",a+1);
    printf("%#p\n",&a[1]);
    printf("%#p\n",a+2);
    printf("%#p\n",&a[2]);

    printf("請輸入陣列a元素的值:");
    for(i=0;i<5;i++)
    {
        scanf("%d",a+i);     //賦值給陣列a
    }
    printf("a陣列元素的值為:");
    for(i=0;i<5;i++)
    {
         printf("%d ",*(a+i));
    }
    return 0;
}

打印出的結果:

3、通過迴圈的形式  利用指標  對陣列的元素進行依次賦值

 #include <stdio.h>
int main()
{
    int i;
    int d[5] = {10,20,34,89,90};
	//指標指向一維陣列,指標指向陣列首元素
       //資料型別 *指標名;
	int *p = d;
	//int *p = &d[0];

	//指標指向陣列首元素。指標名可以當陣列名使用


		printf("%#p\n",p);
		printf("%d\n",d[0]);
		printf("%d\n",*++p); //++p p的地址先偏移, *p
		printf("%d\n",d[1]);
		printf("%#p\n",p);
		printf("%#p\n",&d[1]);

	printf("請輸入陣列d元素的值:");

	p = d;
	for(i = 0; i < 5; i++)
	{
		//scanf("%d",p+i);  //p+0 p+1 p+2 p+3
	     scanf("%d",p++);  //p = p+1
	}
	//for迴圈結束,p偏移到元素d[4]的下一個元素
	p = &d[0];
	for(i = 0; i < 5; i++)
	{
		//printf("%d ",*(p+i));
		//printf("%d ",*p++);  //p++,後置  *p取p變化之前的內容
		printf("%d ",p[i]);  //指標指向陣列首元素。指標名可以當陣列名使用
	}
	printf("\n-----------------\n");


    return 0;
}