C語言-陣列


Posted by pei_______ on 2022-04-26

(1) 一元陣列
(2) 二元陣列
(3) 字元陣列
(4) 陣列記憶體位置


## 具值型-一元陣列 (可不指定陣列大小)
int list[]={1,2,3,4,5}  

## 無值型-二元陣列
int number[2][3];
## => 兩列三行
## [0,0] [0,1] [0,2]
## [1,0] [2,1] [3,2]

## 無值型二維陣列,一定得輸入行的長度 
int list2[][5]={{1},{1,2,3,4,5}};
## %p => 陣列記憶體位置的格式 
int i,number[5];
for( i = 0 ; i < 5 ; i++ ){
    printf("&number[%d] = %p\n",i,&number[i]);
}

## 預設 number == &number[0] 的位置
printf("number = %p\n",number);

// 字串 = 字元陣列

char str1[] = {'p','l','a','y','f','u','n'}; //字元陣列 
char str2[] = {'p','l','a','y','f','u','n','\0'}; //字串 
char str3[] = "playfun"; //字串 (會自動補上\0 轉成字串)

printf("str1 : ");
int i;
for(i = 0 ; i < 7; i++){
    printf("%c",str1[i]);   
}
printf("\n");

// 若為字串,可以%s取代迴圈print
printf("str2 : %s\n", str2);
printf("str3 : %s\n", str3);
// 多個字串 = 二元字元陣列

// 字串[字串數][每個字串最多幾字元] 
char name[][10] = {"Jason","Tommy","Timmy","Sara"};

//印出內容只要用單一迴圈即可 
int i ;
for(i = 0;i <5; i++){
    printf("%s\n",name[i]); 
}
## 多個字串集合 = 三元字元陣列

## 字串[集合數][每個集合最多幾個字串][美個字串最多幾個字元]
char str[2][4][10] = {{"春","夏","秋","冬"},{"梅","蘭","竹","菊"}};
int i, j;

for (i = 0 ; i < 2 ; i++){
    for(j = 0; j < 4 ; j++){
        printf("%s\t",str[i][j]);
    }
    printf("\n");
}

#C語言 #課堂筆記







Related Posts

[Git101] 版本控制

[Git101] 版本控制

npm、yarn 用法簡介

npm、yarn 用法簡介

Find the winner of Tic-Tac-Toe

Find the winner of Tic-Tac-Toe


Comments