C Çok Boyutlu Dizler
c'de dizler çok boyutlu olarak kullanılabilir. Çok boyutlu dizilerin genel kullanımı satılar ve sütunlar içerir.
Sütun 0 | Sütun 1 | Sütun 2 | Sütun 3 | |
Satır 0 | a[0][0] | a[0][1] | a[0][2] | a[0][3] |
Satır 1 | a[1][0] | a[1][1] | a[1][2] | a[1][3] |
Satır 2 | a[1][0] | a[2][1] | a[2][2] | a[2][3] |
çok boyutlu dizilerde ilk değer ataması :
int a[2][2] = {{1,2},{3,4}};
değerleri atandığında sonuç şu durumdadır. b[0][0]=1; b[0][1]=2; b[1][0]=3; b[1][1]=4;
diğer bir atama şekli şu şekildedir.
int a[2][2] = {{1},{3,4}};
değerleri atandığında sonuç şu durumdadır. b[0][0]=1; b[0][1]=0; b[1][0]=3; b[1][1]=4;
örnek:
#include <stdio.h> void arrayYazdir( const int [ ][ 3 ] ); int main() { int array1[ 2 ][ 3 ] = { { 1, 2, 3 }, { 4, 5, 6 } }; int array2[ 2 ][ 3 ] = { 1, 2, 3, 4, 5 }; int array3[ 2 ][ 3 ] = { { 1, 2 }, { 4 } }; printf( "array1'in elemanları:\n" ); arrayYazdir ( array1 ); printf( "array2'in elemanları:\n" ); arrayYazdir ( array2 ); printf( "array3'in elemanları:\n" ); arrayYazdir ( array3 ); return 0; } void arrayYazdir ( const int a[ ][ 3 ] ) { int i, j; for ( i = 0; i <= 1; i++ ) { for ( j = 0; j <= 2; j++ ) { printf( "%d ", a[ i ][ j ] ); } printf( "\n" ); } }
çıktı:
array1'in elemanları: 1 2 3 4 5 6 array2'in elemanları: 1 2 3 4 5 0 array3'in elemanları: 1 2 0 4 0 0