RicardasSim icon

sizeof array

RicardasSim | PRO | 12/21/20 08:28:16 AM UTC (Edited) | 0 ⭐ | 614 👁️ | Never ⏰ | []
C |

1.53 KB

|

None

|

0 👍

/

0 👎

// 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