C語言之陣列(陣列賦值的三種形式)
阿新 • • 發佈:2019-01-01
在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; }