Elektrine lite

← Feed

@gandalf_der_13te@feddit.org

2026-09-21 04:00 UTC

can somebody confirm this pls?

Replies (7)

  • @ASoftGlow@programming.dev 2026-09-21 04:41

    Can confirm

    Open ##4790655

  • @treadful@lemmy.zip 2026-09-21 04:50

    What does assigning … do in C? Is that just default type value or something?

    Open ##4790656

  • @FiskFisk33@startrek.website 2026-09-21 04:27

    question, why is a declaration not a statement?

    Open ##4790658

  • @spankysalmon@fedinsfw.app 2026-09-21 06:57

    int x = …; isn’t just a declaration. Both are totally fine in most modern languages.

    Open ##4790754

  • wonders of C

    Open ##4790771

  • @savvywolf@pawb.social 2026-09-21 10:45

    You actually shouldn’t do this! This doesn’t introduce a new scope, so accidentally using x outside of the case block is UB. Instead you should introduce a new scope like so: switch (foo) { case BAZ: { int x = ...; foobar(x); } }

    Open ##4792126

  • @calcopiritus@lemmy.world 2026-09-22 15:04

    Can confirm. I have to do this all the time. Some coworkers just delete it, and I have to explain the situation every time when they see in the git blame that I put that semicolon there. As someone pointed out in another comment, in switch statements you should just start a new scope with {}. But in actual labels it’s just better to put a load-bearing semicolon. You don’t need to put it in another line though, I just put them like this: int main() { int *a = malloc(sizeof(*a)); if (init_a(a) <= 0) { goto err; } do_something(a); err:; int ret = 0; if (a == NULL) { ret = -1; } free(a); return ret; }

    Open ##4806298