371
unsafeCode (lemmy.ml)
submitted 2 months ago by PandaDEV@lemmy.ml to c/programmerhumor@lemmy.ml
you are viewing a single comment's thread
view the rest of the comments
[-] affiliate@lemmy.world 5 points 2 months ago

i will never forgive C for making the type syntax be

char* args[]

instead of the much more reasonable

&[char] args 

it also bothers me that char* args[] and char c are “the same type” in the sense that the compiler lets you write

char c, *args[5];

with no problems. i think the C languages would be way easier to learn if they had better type syntax. don’t even get me started on C++ adding support for

auto fn_name() -> ReturnType { … }
[-] barubary@infosec.exchange 6 points 2 months ago

@affiliate Hey, you didn't even mention that char *args[] actually means char **args in a parameter list.

[-] affiliate@lemmy.world 5 points 2 months ago

god, what a beautiful language. it brings a tear to my eye

[-] Bogus5553@lemm.ee 4 points 2 months ago

I personally think that C++ can be beautiful. For example: std::filesystem::path overrides the / operator, for specifying parent paths. It’s the same as Kotlin’s OKIO and Pythons standard pathlib.

[-] racketlauncher831@lemmy.ml 2 points 2 months ago

It could, but not necessarily.

char **args can just mean you have a pointer which points to an address, and at that address, you can get a second address. Follow the second address, there is a char saved there.

On the other hand, char *args[] means " follow this address to find a list of characters".

[-] barubary@infosec.exchange 2 points 2 months ago

@racketlauncher831 As far as the C compiler is concerned, there is literally no difference between those two notations. If you declare a function parameter as an array (of T), the C compiler automatically strips the size information (if any) and changes the type to pointer (to T).

(And if we're talking humans, then char *args[] does not mean "follow this address to find a list of characters" because that's the syntax for "array of pointers", not "pointer to array".)

load more comments (2 replies)
this post was submitted on 11 Feb 2025
371 points (95.1% liked)

Programmer Humor

35284 readers
159 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS