slowy07 / your_question

tempat kamu untuk bertanya perihal teknologi
5 stars 0 forks source link

ADT Di C #2

Open scottlang2 opened 7 months ago

scottlang2 commented 7 months ago

Gimana sih caranya bikin abstract data type semacam vector, hashmap, dan collection2 lainnya di C. Saya kesulitan karena di C tidak ada generic.

DarkMattz commented 6 months ago

Izin bantu menjawab.

C itu bahasa pemrograman yang sangat jadul, yang mana release dari tahun 1972. 1972 tuh lumayan fase komputer awal baru berkembang. Karena merupakan hal yang jadul banget, bisa dibilang C itu udah hampir bener2 batasan antara bahasa pemrograman high level (python, Java, C#, C++, dll) sama low level (Assembly).

Karena bener-bener batasan high level sama low level, ya C itu ga bisa berbuat banyak. C itu cuma bisa nyimpen data make tipe data yang biasa, macem int, long, float, double, char, void pointer, struct dsb. Operasinya cuma ya cuma mendasar aja, dan yang paling keren itu pointer. Sama juga kayak library "asli"nya (Library yang bener-bener dibikin sama developer C). Librarynya itu ya cuma bisa mainin memory (malloc, calloc, free), mainin fungsi basic dari OS (time, clrscr, dsb), sama ya print sama input (printf, fprintf, scanf).

Loh terus gimana caranya bikin tipe data macem vector, hashmap, dan collection? ya bikin sendiri pake gabungan pointer sama struct. Contoh misalkan Linked List bisa di lihat di web ini https://www.programiz.com/dsa/linked-list (maap males bikinnya wkwkwkwk)

Jadi ya gitu deh, C itu bener-bener kayak jadul dan basic banget, terpaksa kita harus mainin memory sendiri pake pointer, struct, dll. Tapi walaupun gitu C tetep terkenal, karena banyak orang yang bilang make C itu bener-bener berasa "megang" komputernya akibat kemampuan pointer di C.

Tambahan: Kalo males bikin, tapi tetep mau pake C gimana? Pake C++ aja, karena udah dibikinin ama yang bikin C++