Array
Define an Array
#include <stdio.h>
int main()
{
int array[10];
int i;
for(i = 0; i < 10; i++)
array[i] = i;
for(i = 0; i < 10; i++)
printf("%d: %d\n", i, array[i]);
return 0;
}
Pass Array to Function By Reference
#include <stdio.h>
void disp_2(int *array, int size)
{
int i;
for(i = 0; i < size; i++)
printf("%d, %d\n", i, array[i]);
}
void disp_1(int array[], int size)
{
int i;
for(i = 0; i < size; i++)
printf("%d, %d\n", i, array[i]);
}
int main()
{
int array[10];
int i;
for(i = 0; i < 10; i++)
array[i] = i;
disp_1(array, 10);
disp_2(array, 10);
return 0;
}
Memory Address
#include <stdio.h>
int main()
{
int array[10];
printf("Address of array: %p\n", array); //9d820
printf("Address of array[0]: %p\n", &array[0]); // 9d820
printf("Address of array[1]: %p\n", &array[1]); // 9d824
printf("Address of array[2]: %p\n", &array[2]); // 9d828
return 0;
}
Two-Dimensional Array
#include <stdio.h>
void display(int row, int column, int arr[][column])
{
for(int i = 0; i < row; i++)
{
for(int j = 0; j < column; j++)
printf("%5d", arr[i][j]);
printf("\n");
}
}
int main()
{
int array[2][4]; // 2 rows, 4 columns
for(int i = 0; i < 2; i++)
for(int j = 0; j < 4; j++)
array[i][j] = i*10+j;
display(2, 4, array);
return 0;
}
Three-Dimensional Array
#include <stdio.h>
void display(int page, int row, int column, int array[][row][column])
{
for(int i = 0; i < page; i++)
{
for(int j = 0; j < row; j++)
{
for(int k = 0; k < column; k++)
printf("%5d", array[i][j][k]);
printf("\n");
}
printf("\n");
}
}
int main()
{
int array[2][3][2];
display(2, 3, 2, array);
return 0;
}
Array to Pointer
#include <stdio.h>
int main()
{
int array[10];
int i;
for(i = 0; i < 10; i++)
array[i] = i;
int *p;
p = array;
for(i = 0; i < 10; i++)
printf("%d, %d\n", i, *(p+i));
return 0;
}
String
#include <stdio.h>
#include <string.h>
int main()
{
char array[] = "Hello World!";
printf("%s occupies %lu spaces for %lu characters\n", array, sizeof(array)/sizeof(char), strlen(array)); // 10 11
return 0;
}