371
unsafeCode (lemmy.ml)
submitted 10 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 10 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 10 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 10 months ago

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

[-] Bogus5553@lemm.ee 4 points 10 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 10 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 10 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

39571 readers
8 users here now

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

Rules:

founded 6 years ago
MODERATORS