Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

4.1.3 dict get Next, you will implement: char* dict_get (const dict_t* dict, const char* key) ; This function goes through the list given by dict.

image text in transcribed
image text in transcribed
4.1.3 dict get Next, you will implement: char* dict_get (const dict_t* dict, const char* key) ; This function goes through the list given by dict. If you use the above structure, this means starting at el = dict->head and checking each time whether the key at el is key; if it is not, we set el = el- >next, until either key is found, or we reach el == NULL. To compare key with el ->key, we need to compare one by one each character in key with those in el- >key. Remember that strings in C are just pointers (memory addresses) to the first character in the string, so comparing el->key == key will not do what you want. So how do you even get the length of a string S? You would start at memory location S and advance as long as the byte at s (i.e. *s) is not the end-of-string marker (\\O, the NULL character). This can get a bit messy, so luckily, you are allowed to use the string comparison function stremp (3 ) provided by the standard library: . stromp (s1, s2 ): returns 0 iff s1 and $2 are the same strings. Hence in if (stromp ($1, s2) ) . . ., the condition holds if the strings are different-be careful. If key is found, return the corresponding value; otherwise, return NULL. Note You will remark that the type of the argument dict is not simply dict_t* but const dict_t*. This is used to indicate to the compiler that the function dict_get guarantees that it won't modify the contents of dict (that is, *dict). These indications are crucial to providing clear contracts to the user, helping the compiler make correct assumptions, and avoiding modifying objects you did not intend to modify

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Contract Law Directions

Authors: Richard Taylor, Damian Taylor

8th Edition

0198870590, 978-0198870593

More Books

Students also viewed these Law questions

Question

What does SMART stand for? (p. 86)

Answered: 1 week ago

Question

7. One or other combination of 16.

Answered: 1 week ago

Question

5. It is the needs of the individual that are important.

Answered: 1 week ago