Skip to content

Instantly share code, notes, and snippets.

@brandonto
Last active August 29, 2015 14:15
Show Gist options
  • Save brandonto/0c72c73e39dcc4df4d2a to your computer and use it in GitHub Desktop.
Save brandonto/0c72c73e39dcc4df4d2a to your computer and use it in GitHub Desktop.
An array is cast to a pointer when passed as a parameter to a function
#include <stdio.h>
void initialize_array(int arr[], int val);
int main()
{
int arr[30];
initialize_array(arr, 5);
int n = sizeof(arr) / sizeof(arr[0]);
printf("n = %d\n", n);
printf("sizeof(arr) = %lu\n", sizeof(arr));
printf("sizeof(arr[0]) = %lu\n", sizeof(arr[0]));
//for (int i=0; i<n; i++)
//{
//printf("arr[%d] = %d\n", i, arr[i]);
//}
return 0;
}
void initialize_array(int arr[], int val)
{
int n = sizeof(arr) / sizeof(arr[0]);
printf("n = %d\n", n);
printf("sizeof(arr) = %lu\n", sizeof(arr));
printf("sizeof(arr[0]) = %lu\n", sizeof(arr[0]));
for (int i=0; i<n; i++)
{
arr[i] = val;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment