TOC |
Prev
|
Next
malloc
and sizeof
malloc.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main( void ) {
const char greeting[] = "Hello, ";
const char name[] = "Just Enough C class";
const size_t greeting_len = strlen( greeting );
const size_t name_len = strlen( name );
const size_t bytes_needed = greeting_len + name_len + 1;
char *message = malloc( bytes_needed );
printf( "Before I malloc, sizeof(message) = %lu\n", sizeof(message) );
strcpy( message, greeting );
strcat( message, name );
printf( "After I malloc, sizeof(message) = %lu\n", sizeof(message) );
puts( message );
free( message );
printf( "After I free, sizeof(message) = %lu\n", sizeof(message) );
return 0;
}
$ malloc
Before I malloc, sizeof(message) = 4
After I malloc, sizeof(message) = 4
Hello, Just Enough C class
After I free, sizeof(message) = 4
TOC |
Prev
|
Next