You could use a sentinel value to terminate your array, like null terminated strings... But then you get that whole set of problems. I don't understand why you're allocating 2x the space... But maybe I just don't know what that realloc stuff means. You should be able to shift your pointer arbitrarily and free should work as long as the address is correct. I think it's a good idea to try storing the length in "-1", maybe there's just a bug in your implementation?
12
Maybe use a flexible struct? You can have an indeterminate array at the end (https://www.geeksforgeeks.org/flexible-array-members-structure-c/) I'd rather just use the variable in the struct though. The packing isn't guaranteed to be right next to each other
this post was submitted on 14 Nov 2023
12 points (92.9% liked)
C Programming Language
931 readers
1 users here now
Welcome to the C community!
C is quirky, flawed, and an enormous success.
... When I read commentary about suggestions for where C should go, I often think back and give thanks that it wasn't developed under the advice of a worldwide crowd.
... The only way to learn a new programming language is by writing programs in it.
- irc: #c
🌐 https://en.cppreference.com/w/c
founded 1 year ago
MODERATORS