HIDE NAV

Intro to 2D Arrays

2D Array Basics.

2D-Array-Demo.c


#include <stdio.h>
#include <stdlib.h>
#define length 5
#define width 8

int main(void) {

	//basic 2d array declaration, single assignments and value reference
	// indices 0 ... 4 are valid for first dim.
	// indices 0 ... 7 are valid for second dim.
	puts("-single values-");
	char charArray2D[length][width];
	charArray2D[1][2] = 'a';
	printf("[1][2] = %c\n", charArray2D[1][2]);

	puts("-loops through whole array pt 1-");
	// looping to set values
	char c = 'A';
	for (int i = 0; i < length; i++){
		 for (int j = 0; j < width; j++) {
			charArray2D[i][j] = c;
			c++;
		}
	}

	// looping to access values, second dimension first
	for (int i = 0; i < length; i++) {
		for (int j = 0; j < width; j++) {
			printf("[%d][%d] = %c\n", i, j, charArray2D[i][j]);
		}
	}

	puts("\n-loops through whole array pt 1-");
	//looping through first dimension first
	for (int j = 0; j < width; j++) {
		for (int i = 0; i < length; i++) {
			printf("[%d][%d] = %c\n", i, j, charArray2D[i][j]);
		}
	}

	puts("\n-Printing in a 'grid' pt 1-");
	for (int i = 0; i < length; i++) {
		for (int j = 0; j < width; j++) {
			printf("%c ", charArray2D[i][j]);
		}
		printf("\n");
	}

	puts("\n-Printing in a 'grid' pt 2-");
	for (int j = 0; j < width; j++) {
		 for (int i = 0; i < length; i++) {
			printf("%c ", charArray2D[i][j]);
		}
		printf("\n");
	}

	return 0;
}