r/ProgrammerHumor 2d ago

Meme bugIntroducedDebugging

Post image
1.1k Upvotes

120 comments sorted by

View all comments

44

u/PR8-E 2d ago

int* x = (int*) malloc(sizeof(int)); Since malloc returns void pointer you should parse it to type you use.

37

u/yjlom 2d ago

void * coerces to any pointer type. This is valid: int *x = malloc(sizeof(int));. This is also valid (in C23): auto x = (int *) malloc(sizeof(int));.

36

u/Mateorabi 2d ago

Get off my lawn with your newfangled auto keyword. 

1

u/yjlom 2d ago

The keyword ain't new, it's been used as a storage specifier since forever. What's new is overloading it for type inference.

3

u/Mateorabi 2d ago

Hey when you learned C in the 90s it’s “new”.  harumph. 

1

u/yjlom 2d ago

It's been there since the beginning, along with extern and static. You just don't tend to actually write it because it's the default inside functions and it doesn't make sense outside of them.