In Go Lang 4.  Program stack.  For the following code, answer the following questions. Assume we are putting everything for our function calls on the stack. ·       Show what a stack frame/activation record for main() looks like   ·       Show what the stack frame/activation record for the 2nd call to ctTarg look like? (Yes, this means you can skip the other stack frames)   ·       We note that targ does not change value in any recursive call. Why doesn't the compiler just store targ once in one block of memory big enough to store a string?   int ctTarg(string* list, int len, string targ) {     if (len <= 0) return 0;     if (*list == targ)         return 1 + ctTarg(list + 1, len - 1, targ);     return ctTarg(list + 1, len - 1, targ); }   int main() {     string pets[] = {"cat", "dog", "mouse", "cat"};     cout << ctTarg(pets, 4, "cat") << endl; }

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 1TF
icon
Related questions
Question

In Go Lang

4.  Program stack. 

For the following code, answer the following questions. Assume we are putting everything for our function calls on the stack.

·       Show what a stack frame/activation record for main() looks like

 

·       Show what the stack frame/activation record for the 2nd call to ctTarg look like? (Yes, this means you can skip the other stack frames)

 

·       We note that targ does not change value in any recursive call. Why doesn't the compiler just store targ once in one block of memory big enough to store a string?

 

int ctTarg(string* list, int len, string targ) {

    if (len <= 0) return 0;

    if (*list == targ)

        return 1 + ctTarg(list + 1, len - 1, targ);

    return ctTarg(list + 1, len - 1, targ);

}

 

int main()

{

    string pets[] = {"cat", "dog", "mouse", "cat"};

    cout << ctTarg(pets, 4, "cat") << endl;

}

 
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Stack
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning