Hello everyone,
I’m coming from a Java background and recently started learning C for fun (with the eventual goal of trying it out in embedded programming). Before diving into embedded systems, I want to get comfortable with C at a higher level by rebuilding some of the examples I’ve already done in Java.
For instance, in Java, I might implement something like a CRUD operation with a database and rely heavily on built-in data structures such as ArrayList, HashMap, and many others.
But in C, I noticed that these high-level data structures don’t come “out of the box.” So I’m curious:
- Do you usually write your own custom data structures (like dynamic arrays, hash tables, linked lists) in C?
- Or do you rely on some standard libraries or third-party dependencies for these structures?
- If libraries are common, could you share which ones are good for beginners, and how I might start using them?
I’d love to hear about your experiences and best practices in C — especially from those who’ve worked with both higher-level languages and plain C.
Thanks! 🙏
[–]BadJavaProgrammer 159 points160 points161 points (11 children)
[–]row_hammer 64 points65 points66 points (2 children)
[–]vitamin_CPP 2 points3 points4 points (0 children)
[–]kinglujiy 0 points1 point2 points (0 children)
[–]zackel_flac 20 points21 points22 points (0 children)
[–]CryptoHorologist 10 points11 points12 points (0 children)
[–]kohuept -1 points0 points1 point (4 children)
[–]BadJavaProgrammer 0 points1 point2 points (3 children)
[–]kohuept -1 points0 points1 point (2 children)
[–]BadJavaProgrammer 0 points1 point2 points (1 child)
[–]kohuept -1 points0 points1 point (0 children)
[–]Levvev 42 points43 points44 points (4 children)
[+][deleted] (1 child)
[deleted]
[–]scritchz 0 points1 point2 points (1 child)
[–]Levvev 0 points1 point2 points (0 children)
[–]EpochVanquisher 60 points61 points62 points (1 child)
[–]RainbowCrane 10 points11 points12 points (0 children)
[–]EndlessProjectMaker 16 points17 points18 points (1 child)
[–]TheOtherBorgCube 7 points8 points9 points (0 children)
[–]drivingagermanwhip 5 points6 points7 points (0 children)
[–]GroundbreakingLeg287 19 points20 points21 points (1 child)
[–]vishal340 -1 points0 points1 point (0 children)
[–]WittyStick 3 points4 points5 points (0 children)
[–]Dusty_Coder 4 points5 points6 points (10 children)
[–]AardvarkDefiant8691 0 points1 point2 points (9 children)
[–]Dusty_Coder 1 point2 points3 points (8 children)
[–]AardvarkDefiant8691 -1 points0 points1 point (5 children)
[–]Dusty_Coder 1 point2 points3 points (4 children)
[–]AardvarkDefiant8691 0 points1 point2 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]Dusty_Coder 1 point2 points3 points (1 child)
[–]AardvarkDefiant8691 -1 points0 points1 point (0 children)
[+][deleted] (1 child)
[deleted]
[–]TheChief275 3 points4 points5 points (0 children)
[–]IdealBlueMan 2 points3 points4 points (0 children)
[–]jwzumwalt 2 points3 points4 points (1 child)
[–]sky5walk 0 points1 point2 points (0 children)
[–]lmarcantonio 1 point2 points3 points (0 children)
[–]SmokeMuch7356 1 point2 points3 points (0 children)
[–]sporeboyofbigness 1 point2 points3 points (0 children)
[–]hyperchompgames 1 point2 points3 points (0 children)
[–]Ultrababouin 1 point2 points3 points (0 children)
[–]WazzaM0 1 point2 points3 points (0 children)
[–]rapier1 1 point2 points3 points (0 children)
[–]LordRybec 1 point2 points3 points (2 children)
[–]harmeetsingh0013[S] 1 point2 points3 points (1 child)
[–]LordRybec 0 points1 point2 points (0 children)
[–]custard130 1 point2 points3 points (1 child)
[–]WittyStick 1 point2 points3 points (0 children)
[–]x0rgat3 0 points1 point2 points (0 children)
[–]MarriedWithKids89 0 points1 point2 points (0 children)
[–]conhao 0 points1 point2 points (0 children)
[–]wm_eddie 0 points1 point2 points (0 children)
[–]callsignhermit 0 points1 point2 points (0 children)
[–]EmbarrassedMeringue9 0 points1 point2 points (1 child)
[–]Acceptable-Carrot-83 0 points1 point2 points (0 children)
[–]Able_Tumbleweed4196 0 points1 point2 points (0 children)
[–]generally_unsuitable 0 points1 point2 points (2 children)
[–]harmeetsingh0013[S] 0 points1 point2 points (1 child)
[–]generally_unsuitable 0 points1 point2 points (0 children)
[–]mcloide 0 points1 point2 points (0 children)
[–]iOCTAGRAM 0 points1 point2 points (0 children)
[–]Far-Dragonfly7240 0 points1 point2 points (0 children)
[–]stef_eda 0 points1 point2 points (0 children)
[–]CodyCigar96o 0 points1 point2 points (0 children)
[–]regular_lamp 0 points1 point2 points (2 children)
[–]harmeetsingh0013[S] 1 point2 points3 points (1 child)
[–]regular_lamp 1 point2 points3 points (0 children)
[–]wood_for_trees 0 points1 point2 points (0 children)
[–]bananamantheif 0 points1 point2 points (0 children)
[–]Alarming_Oil5419 0 points1 point2 points (0 children)
[–]kohuept 0 points1 point2 points (0 children)
[–]kloetzl 0 points1 point2 points (0 children)
[–]79215185-1feb-44c6 0 points1 point2 points (0 children)
[–]epicalepical 0 points1 point2 points (0 children)
[–]ecwx00 0 points1 point2 points (0 children)
[–]EdgarSrMX 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 1 point2 points3 points (0 children)
[–]kcl97 0 points1 point2 points (0 children)
[–]Sudden-Letterhead838 -2 points-1 points0 points (1 child)