fork download
  1. #include <stdio.h>
  2.  
  3. void print_size_of_array_parameter(int i_array[10]) {
  4. printf("sizeof(int[10]) = %zd (Hey! What happened here? Why is this so small?)\n", sizeof(i_array));
  5. printf("sizeof(int*) = %zd (That explains it, it's a pointer.)\n", sizeof(int*));
  6. }
  7.  
  8. int main(void) {
  9. int i;
  10. printf("sizeof(int) = %zd\n", sizeof(i));
  11. int i_array[10];
  12. printf("sizeof(int[10]) = %zd\n", sizeof(i_array));
  13. print_size_of_array_parameter(i_array);
  14. return 0;
  15. }
Success #stdin #stdout 0s 2292KB
stdin
Standard input is empty
stdout
sizeof(int) = 4
sizeof(int[10]) = 40
sizeof(int[10]) = 4    (Hey! What happened here? Why is this so small?)
sizeof(int*) = 4       (That explains it, it's a pointer.)