// Linux 64bit, -std=c99 -Wall -Wextra -Wpedantic -Wshadow
#include <stdio.h>
#include <stdlib.h>
int main()
{
char arr1[10] = {0};
int arr2[10] = {0};
double arr3[10] = {0};
printf( "sizeof arr1: %zu\n", sizeof arr1 );
printf( "sizeof &arr1: %zu\n", sizeof &arr1 );
printf( "sizeof &arr1[0]: %zu\n", sizeof &arr1[0] );
printf( "sizeof &arr1[1]: %zu\n", sizeof &arr1[1] );
printf( "sizeof *arr1: %zu\n", sizeof *arr1 );
printf( "sizeof arr1[0]: %zu\n\n", sizeof arr1[0] );
printf( "sizeof arr2: %zu\n", sizeof arr2 );
printf( "sizeof &arr2: %zu\n", sizeof &arr2 );
printf( "sizeof &arr2[0]: %zu\n", sizeof &arr2[0] );
printf( "sizeof &arr2[1]: %zu\n", sizeof &arr2[1] );
printf( "sizeof *arr2: %zu\n", sizeof *arr2 );
printf( "sizeof arr2[0]: %zu\n\n", sizeof arr2[0] );
printf( "sizeof arr3: %zu\n", sizeof arr3 );
printf( "sizeof &arr3: %zu\n", sizeof &arr3 );
printf( "sizeof &arr3[0]: %zu\n", sizeof &arr3[0] );
printf( "sizeof &arr3[1]: %zu\n", sizeof &arr3[1] );
printf( "sizeof *arr3: %zu\n", sizeof *arr3 );
printf( "sizeof arr3[0]: %zu\n\n", sizeof arr3[0] );
return 0;
}
/*
output:
sizeof arr1: 10
sizeof &arr1: 8
sizeof &arr1[0]: 8
sizeof &arr1[1]: 8
sizeof *arr1: 1
sizeof arr1[0]: 1
sizeof arr2: 40
sizeof &arr2: 8
sizeof &arr2[0]: 8
sizeof &arr2[1]: 8
sizeof *arr2: 4
sizeof arr2[0]: 4
sizeof arr3: 80
sizeof &arr3: 8
sizeof &arr3[0]: 8
sizeof &arr3[1]: 8
sizeof *arr3: 8
sizeof arr3[0]: 8
*/
Comments