Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Posts by Lundin‭

167 posts
81%
+7 −0
Meta Should we have a Code Review Section / category?

I agree and I think it should be a separate category, with separate posting rules. There are several examples of how the rules for each category would likely be fundamentally different: Main Q&...

posted 4y ago by Lundin‭

Answer
81%
+7 −0
Q&A Should I cast to (void) when I do not use the return value

Yes, it is generally good practice to always cast the return value of functions to (void) if not used. This is self-documenting code showing that you aren't using the return value on purpose and di...

posted 4y ago by Lundin‭

Answer
81%
+7 −0
Q&A Why is the new auto keyword from C++11 or C23 dangerous?

The auto feature was indeed mainly meant to solve long cumbersome template container declarations in C++. But when introduced to C23 - where there are no templates let alone template containers - i...

posted 9mo ago by Lundin‭  ·  edited 9mo ago by Lundin‭

Answer
81%
+7 −0
Q&A Where to place digit separators in C23?

Since this is all new, there might still be time to establish a consensus before this style feature too ends up "all over the place" (like upper/lower case hex, upper/lower case integer constant su...

posted 10mo ago by Lundin‭

Answer
81%
+7 −0
Q&A Where to place digit separators in C23?

C23 introduces the digit separator ' which can be placed anywhere inside an integer constant for the purpose of clarity and self-documenting code. These are otherwise ignored by the compiler when d...

2 answers  ·  posted 10mo ago by Lundin‭  ·  last activity 10mo ago by John C‭

81%
+7 −0
Q&A How allocated memory is calculated?

The size of the "primitive data types" int, float etc is not defined by the standard. In practice, int is either 16 or 32 bits on all known systems. Because of the unspecified size leading to poor...

posted 3y ago by Lundin‭  ·  edited 3y ago by Canina‭

Answer
81%
+7 −0
Q&A Common string handling pitfalls in C programming

This is a self-answered Q&A meant as a C string handling FAQ. It will ask several questions at once which isn't ideal, but they are all closely related and I'd rather not fragment the post in...

2 answers  ·  posted 3y ago by Lundin‭  ·  last activity 5mo ago by Karl Knechtel‭

81%
+7 −0
Q&A Common string handling pitfalls in C programming

The reader is assumed to understand how arrays and pointers work in C. You cannot understand pointers before you understand arrays, and you cannot understand strings before you understand pointer...

posted 3y ago by Lundin‭  ·  edited 5mo ago by Karl Knechtel‭

Answer
81%
+11 −1
Meta Should we allow questions about installation and configuration of software development tools?

Generally, I would say: On-topic How to install, configure, trouble-shoot and use tools specifically meant for software development. Compilers, debuggers, IDEs and so on. Asking questions rega...

posted 3y ago by Lundin‭  ·  edited 3y ago by Lundin‭

Answer
80%
+6 −0
Q&A Why is a for loop getting stuck when using a uint64_t counter, whereas a while loop isn't?

This is a bit of a well-known problem when converting from an up-counting to a down-counting loop and using an unsigned loop iterator. Since unsigned numbers are always positive and have well-defi...

posted 1mo ago by Lundin‭  ·  edited 1mo ago by Lundin‭

Answer
80%
+6 −0
Q&A Understanding "logical OR" and "logical AND" in programming languages

They aren't actually that different from natural language. But more verbose. Given some generic pseudo code looking like one of the C family languages: if( !egg.boiled || !egg.peeled ) { do_no...

posted 5mo ago by Lundin‭

Answer
80%
+6 −0
Q&A Are these two function pointer declarations equivalent?

Normally, whenever a function designator (a function's name) is used in an expression, it decays to a function pointer to that function. typeof is one of those exceptions to the "decay" rules of C...

posted 9mo ago by Lundin‭

Answer
80%
+6 −0
Q&A What is the meaning of "short circuit" operators?

When reading about various operators used by programming languages, the term "short circuit behavior" is often used. For example in this C code: int a = 0; a && b++ Someone explained t...

2 answers  ·  posted 1y ago by Lundin‭  ·  last activity 1y ago by matthewsnyder‭

80%
+6 −0
Q&A How to write a macro that discards the const qualifier, for any type?

Ignoring the numerous forms of undefined behavior that casting away const might invoke, the blunt but simple and standard solution is just to cast to (void*). char* foo (const char* str) { r...

posted 3y ago by Lundin‭  ·  edited 3y ago by Lundin‭

Answer
80%
+6 −0
Q&A Are static pointers implicitly initialized to NULL?

Yes, it is guaranteed to evaluate to true. All variables with static storage duration are set to zero in case of arithmetic types or set to null in case they are pointers. The relevant part is C17 ...

posted 3y ago by Lundin‭

Answer
80%
+6 −0
Q&A Why does fopen return NULL?

The simple explanation would be that you simply don't have write access to the path, which is one possibility. Another weird phenomenon that may happen is that you are running a very old C...

posted 3y ago by Lundin‭

Answer
80%
+6 −0
Q&A Write to same file from multiple threads

Writing to the file on the HD is your massive bottleneck no matter how many threads you throw around. The limit is the physical memory access speed, not processing power. And since it is such a bot...

posted 4y ago by Lundin‭  ·  edited 4y ago by Ayxan Haqverdili‭

Answer
80%
+6 −0
Q&A Is `uint8_t` always an alias for a character type if it exists?

Yes, it is in practice always a character type and you can safely assume as much, both in terms of (g)lvalue access and in terms of strict pointer aliasing. If not, the compiler would soon render i...

posted 4y ago by Lundin‭

Answer
80%
+6 −0
Q&A What's the difference between null pointers and NULL?

There are three different, related concepts that are easy to mix up: null pointers null pointer constants the NULL macro Formal definitions The first two of these terms are formally defined in C1...

posted 4y ago by Lundin‭  ·  edited 4y ago by Lundin‭

Answer
78%
+9 −1
Meta Etiquette for posting comments

Regarding "snark" - it is very hard and subjective to define. Our overall code of conduct says "be nice", but where do you draw the line. On SO, general gruff attitude tends to be treated very diff...

posted 4y ago by Lundin‭

Answer
78%
+9 −1
Q&A What is do { } while(0) in macros and should we use it?

Background I can see the need to use { } when implementing a function-like macro such as this one: #define HCF(code) fprintf(stderr, "halt and catch fire"); exit(code); Because if we use the f...

2 answers  ·  posted 4y ago by Lundin‭  ·  last activity 1y ago by Karl Knechtel‭

Question c code-style macros
77%
+5 −0
Q&A Cast uninitialized variable to (void)

It depends. This boils down to whether or not the expression cast to void contains any side effects, such as accessing a volatile-qualified object or modifying any object. C17 6.3.2.2: If an ex...

posted 2y ago by Lundin‭  ·  edited 2y ago by Ethan‭

Answer
77%
+5 −0
Q&A Are there technical reasons to pick one struct coding style over the other?

Arguments in favour of "struct tag style": Less namespace clutter. C has a peculiar name space system where all identifiers belong to one of: labels, tags, members, ordinary. Struct tag style...

posted 1y ago by Lundin‭  ·  edited 1y ago by Lundin‭

Answer
77%
+5 −0
Q&A Warn of implicit cast in a function's arguments with GCC?

You can use -Wconversion but you should be aware that it is very prone to false positives. It's a good flag to turn on during code review etc to shake out a few minor issues, but it's not a flag yo...

posted 4y ago by Lundin‭  ·  edited 4y ago by Lundin‭

Answer
77%
+5 −0
Meta Closing self-answered question due to not being clear enough

A question should be closed when it cannot be meaningfully answered by someone who knows the topic. Which might indeed mean that the one(s) casting the close vote(s) would need domain knowledge. T...

posted 9mo ago by Lundin‭  ·  edited 7mo ago by Lundin‭

Answer