C語言學習筆記 - 數組

C數組

數組是用來存儲一個固定大小的同類型元素的順序集合。

聲明數組

type arrayName [ arraySize ]
int array[5];

初始化數組

int array[] = {1, 2, 3, 4, 5};

int array[5] = {1, 2, 3, 4, 5};

訪問數組元素

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int array[5] = {1, 2, 3, 4, 5};
    int i;
    for (i = 0; i < 5; i++) {
        printf("array中第%d個元素是%d", i, array[i]);
    }
}

二維數組

多維數組最簡單的形式是二維數組。一個二維數組,在本質上,是一個一維數組的列表。聲明一個 x 行 y 列的二維整型數組。

下面是一個二維數組,包含 3 行和 4 列:

二維數組

#include <stdio.h>

int main ()
{
   /* 一個帶有 5 行 2 列的數組 */
   int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};
   int i, j;

   /* 輸出數組中每個元素的值 */
   for ( i = 0; i < 5; i++ )
   {
      for ( j = 0; j < 2; j++ )
      {
         printf("a[%d][%d] = %d\n", i,j, a[i][j] );
      }
   }
   return 0;
}

傳遞數組給函數

若想在函數中傳遞數組作爲參數,須以以下三種方式來聲明函數形參。

方式一:形參是一個指針

void function(int *param) {

}

方式二:形參是一個已定義大小的數組

void function(int array[5]) {

}

方式一:形參是一個已定義大小的數組

void function(int array[]) {

}

C 從函數返回數組

C 語言不允許返回一個完整的數組作爲函數的參數。但是,您可以通過指定不帶索引的數組名來返回一個指向數組的指針。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

/* 要生成和返回隨機數的函數 */
int * getRandom( )
{
  static int  r[10];
  int i;

  /* 設置種子 */
  srand( (unsigned)time( NULL ) );
  for ( i = 0; i < 10; ++i)
  {
     r[i] = rand();
     printf( "r[%d] = %d\n", i, r[i]);

  }

  return r;
}

/* 要調用上面定義函數的主函數 */
int main ()
{
   /* 一個指向整數的指針 */
   int *p;
   int i;

   p = getRandom();
   for ( i = 0; i < 10; i++ )
   {
       printf( "*(p + %d) : %d\n", i, *(p + i));
   }

   return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章