How can I replace strdup() with strcpy() and malloc() in linked list in c?
Use pointer to add value to linked list without using strdup() in C
63 Views Asked by never_again At
1
There are 1 best solutions below
Related Questions in C
- How to call a C language function from x86 assembly code?
- What does: "char *argv[]" mean?
- User input sanitization program, which takes a specific amount of arguments and passes the execution to a bash script
- How to crop a BMP image in half using C
- How can I get the difference in minutes between two dates and hours?
- Why will this code compile although it defines two variables with the same name?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Why can't I use the file pointer after the first read attempt fails?
- #include Header files in C with definition too
- OpenCV2 on CLion
- What is causing the store latency in this program?
- How to refer to the filepath of test data in test sourcecode?
- 9 Digit Addresses in Hexadecimal System in MacOS
- My server TCP doesn't receive messages from the client in C
- Printing the characters obtained from the array s using printf?
Related Questions in LINKED-LIST
- What line of code do I change to avoid duplication in a linked list?
- LeetCode question Removed Duplicates From Sorted List
- Ran on an MCU (STM32F1), doubly-linked list code results in a call of HardFault() due to stack overflow
- List with a Struct in C++
- Why deleting an element in a linkedlist costs O(1)
- Which is the correct approach to delete LinkedList Node?
- Why Floyd's cycle finding algorithm, the tortoise and hare both need to start at the same location?
- Printing a linked list in a reversed spiral manner
- Transfer linked list values from one linked list to another in C
- Border-Top on only second nav ul li
- Creating a linked list from an arraylist
- Linked list of template type with the next pointer being a different specialization
- Following code is failing to find intersection of two lists
- Traversing a linked list of polymorphic derived type in both directions
- Python ListNode object update in a linked list doesn't work as expected
Related Questions in STRDUP
- Is this a legal C strdup function?
- Strdup free still result in memory leaks
- Seeking Help to Identify Memory Leaks in my C Function
- Review assembly strdup reimplementation
- Calling free() on a variable initialised by strdup still results in memory leak
- How to use strdup and strcat in C
- How to use strdup with user input?
- Segmentation fault when strdupa void pointer
- C String spliting into array, bad behaviour when string is not supposed to be split
- Why we didn't use * during dereferencing the pointer?
- Use pointer to add value to linked list without using strdup() in C
- Why is strdup() used here?
- using array of chars and strdup, getting segmentation fault
- Freeing a strdup inside of a linked list
- Valgrind gives error memory "still reachable"
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You're confusing the pointer with the value it points at. If you remove the
strdupfrom your code, all the pointers in your linked list end up pointing at the same char array, so if/when you change the string in that char array, all the pointers will see it. So to have distinct strings for each element of the linked list, each element's pointer must point at a different char array.Using
strdupdoes exactly that, creating a new char array of the correct size withmallocand copying the string into that char array. So each pointer ends up pointing to a different char array with (potentially) a different string in each. To (safely) get rid of strdup you need to do the same thing some other way -- create a new array for each string, so you can have the pointer point at it.