c 陣列賦初值 c語言給陣列賦值的3種形式

2021-10-13 09:00:00 字數 1638 閱讀 8310

c語言給陣列賦值的3種形式

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

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

int main()

int i;

int a[10] = ;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<10;i++)

printf("%d ",a[i]);

return 0;

2、通過迴圈的形式 陣列名+下標 對陣列的元素進行依次賦值#include

int main()

int i;

//指標+整型值,表示位址的前移,前移的位元組由指標指向的物件的型別決定

//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

int main()

int i;

int d[5] = ;

//指標指向一維陣列,指標指向陣列首元素

//資料型別 *指標名;

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;

c 陣列賦初值 C 陣列的常用操作方法小結

1.陣列的宣告和賦值方式 int myarray int myarray int myarray new int 4 2.多維陣列的宣告 int myarray new int 2,3 int myarray 獲取多維陣列元素,可以使用 myarray 0,1 2 3.鋸齒陣列的宣告 int mya...

c 陣列賦初值 C 物件導向 索引器

索引器 封裝了類的私有陣列的操作,沒有名字 定義索引器的格式 public 陣列中元素的資料型別 關鍵字 this 下標 get 根據下標獲取陣列中該下標所對應的元素 先判斷下標是否越界 if 下標 私有陣列元素的個數 throw new indexoutofrangeexception 陣列越界 ...

C語言結構體賦初值

舊的c標準不支援在定義結構體的時候賦值,例如vs2010和vc 6.0 之前我發現我寫的在vs2019上執行正常的程式複製到vc6上就報錯,一方面是因為舊的c標準不支援一些新函式比如scanf s和get s,另一方面是某些特性改變了,比如舊的c標準不支援在定義結構體的時候賦值,在定義結構體的時候並...