1.3 dict_get Next, you will implement: char* dict_get (const dict_t* dict, const char* key); his function goes through the list given by dict.If you use the above structure, this means starting at el = dict->head and hecking 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. o compare key with el->key , we need to compare one by one each character in key with those in el->key. Remember that trings in C are just pointers (memory addresses) to the first character in the string, so comparing el->key == key will not do hat 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 yte at s (i.e. *s ) is not the end-of-string marker ( \Ø , the NULL character). This can get a bit messy, so luckily, you are allowed o use the string comparison function strcmp(3) provided by the standard library: • strcmp (s1, s2):returns 0 iff s1 and s2 are the same strings. Hence in if (strcmp (s1, s2))..., the condition holds if the strings are different-be careful. kev is found, return the corresponding value: otherwise, return NULL

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

I am creating a dictionary in terminal using C code. The screenshot I attached is a portion of the frame work that needs to be completed in order for the dictionary to be created

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 ( \0 , the NULL character). This can get a bit messy, so luckily, you are allowed
to use the string comparison function strcmp(3) provided by the standard library:
strcmp (s1, s2):returns 0 iff s1 and s2 are the same strings. Hence in if (strcmp (s1, s2))..., the condition
holds if the strings are different-be careful.
If key is found, return the corresponding value; otherwise, return NULL.
Transcribed Image Text: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 ( \0 , the NULL character). This can get a bit messy, so luckily, you are allowed to use the string comparison function strcmp(3) provided by the standard library: strcmp (s1, s2):returns 0 iff s1 and s2 are the same strings. Hence in if (strcmp (s1, s2))..., the condition holds if the strings are different-be careful. If key is found, return the corresponding value; otherwise, return NULL.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education