tags/pointers
David Bremner
by-nc-sa-2.5
Copyright 2020, David Bremner
https://www.cs.unb.ca/~bremner//tags/pointers/
David Bremner
ikiwiki
2010-09-11T20:23:13Z
Tutorial Exercises 6
https://www.cs.unb.ca/~bremner//teaching/old/cs2023/events/tut06/
<a href="../../whyCC/">by-nc-sa-2.5</a>
Copyright 2020, David Bremner
2010-09-11T20:23:13Z
2009-11-24T04:00:00Z
<p>Fill in the three missing functions in this code, so that numbers are printed out in order. Note that
you can debug print_numbers independently.</p>
<div class="highlight-c"><pre class="hl"><span class="hl ppc">#include <stdio.h></span>
<span class="hl ppc">#include <stdlib.h></span>
<span class="hl kwb">struct</span> node <span class="hl opt">{</span>
<span class="hl kwb">int</span> value<span class="hl opt">;</span>
<span class="hl kwb">struct</span> node <span class="hl opt">*</span>next<span class="hl opt">;</span>
<span class="hl opt">};</span>
<span class="hl kwb">struct</span> node <span class="hl opt">*</span><span class="hl kwd">read_numbers</span><span class="hl opt">(</span><span class="hl kwb">void</span><span class="hl opt">){</span>
<span class="hl kwb">struct</span> node <span class="hl opt">*</span>first <span class="hl opt">=</span> NULL<span class="hl opt">;</span>
<span class="hl kwb">int</span> n<span class="hl opt">;</span>
<span class="hl kwd">printf</span><span class="hl opt">(</span><span class="hl sng">"Enter a series of integers"</span>
<span class="hl sng">" (0 to terminate): "</span><span class="hl opt">);</span>
<span class="hl kwa">for</span> <span class="hl opt">(;;) {</span>
<span class="hl kwd">scanf</span><span class="hl opt">(</span><span class="hl sng">"</span><span class="hl ipl">%d</span><span class="hl sng">"</span><span class="hl opt">, &</span>n<span class="hl opt">);</span>
<span class="hl kwa">if</span> <span class="hl opt">(</span>n <span class="hl opt">==</span> <span class="hl num">0</span><span class="hl opt">)</span>
<span class="hl kwa">return</span> first<span class="hl opt">;</span>
first <span class="hl opt">=</span> <span class="hl kwd">add_to_list</span><span class="hl opt">(</span>first<span class="hl opt">,</span> n<span class="hl opt">);</span>
<span class="hl opt">}</span>
<span class="hl opt">}</span>
<span class="hl kwb">struct</span> node <span class="hl opt">*</span><span class="hl kwd">reverse</span><span class="hl opt">(</span><span class="hl kwb">struct</span> node <span class="hl opt">*</span>list<span class="hl opt">){</span>
<span class="hl opt">}</span>
<span class="hl kwb">struct</span> node <span class="hl opt">*</span><span class="hl kwd">add_to_list</span><span class="hl opt">(</span><span class="hl kwb">struct</span> node <span class="hl opt">*</span>list<span class="hl opt">,</span> n<span class="hl opt">){</span>
<span class="hl opt">}</span>
<span class="hl kwb">void</span> <span class="hl kwd">print_numbers</span><span class="hl opt">(</span><span class="hl kwb">struct</span> node <span class="hl opt">*</span>list<span class="hl opt">){</span>
<span class="hl opt">}</span>
<span class="hl kwb">int</span> <span class="hl kwd">main</span><span class="hl opt">(</span><span class="hl kwb">void</span><span class="hl opt">){</span>
<span class="hl kwb">struct</span> node <span class="hl opt">*</span>list<span class="hl opt">=</span>NULL<span class="hl opt">;</span>
list<span class="hl opt">=</span><span class="hl kwd">read_numbers</span><span class="hl opt">();</span>
list<span class="hl opt">=</span><span class="hl kwd">reverse</span><span class="hl opt">(</span>list<span class="hl opt">);</span>
<span class="hl kwd">printf</span><span class="hl opt">(</span><span class="hl sng">"output:</span> <span class="hl esc">\n</span><span class="hl sng">"</span><span class="hl opt">);</span>
<span class="hl kwd">print_numbers</span><span class="hl opt">(</span>list<span class="hl opt">);</span>
<span class="hl opt">}</span>
</pre></div>
Lecture 30
https://www.cs.unb.ca/~bremner//teaching/old/cs2023/events/L30/
<a href="../../whyCC/">by-nc-sa-2.5</a>
Copyright 2020, David Bremner
2010-09-11T20:23:13Z
2009-11-20T04:00:00Z
<ul>
<li><p>Chapter 16,17 Enumerations, Pointers</p></li>
<li><p><span class="createlink">slides</span>
<span class="createlink">printable</span></p></li>
<li><p><a href="https://www.cs.unb.ca/~bremner//teaching/old/cs2023/about_slides/">about slides</a></p></li>
</ul>
Lecture 24
https://www.cs.unb.ca/~bremner//teaching/old/cs2023/events/L24/
<a href="../../whyCC/">by-nc-sa-2.5</a>
Copyright 2020, David Bremner
2010-09-11T20:23:13Z
2009-11-04T04:00:00Z
<ul>
<li><p>Chapter 13 Strings</p></li>
<li><p><span class="createlink">slides</span>
<span class="createlink">printable</span></p></li>
<li><p><a href="https://www.cs.unb.ca/~bremner//teaching/old/cs2023/about_slides/">about slides</a></p></li>
</ul>
Lecture 23
https://www.cs.unb.ca/~bremner//teaching/old/cs2023/events/L23/
<a href="../../whyCC/">by-nc-sa-2.5</a>
Copyright 2020, David Bremner
2010-09-11T20:23:13Z
2009-11-02T04:00:00Z
<ul>
<li><p>Chapter 13 Strings</p></li>
<li><p><span class="createlink">slides</span>
<span class="createlink">printable</span></p></li>
<li><p><a href="https://www.cs.unb.ca/~bremner//teaching/old/cs2023/about_slides/">about slides</a></p></li>
</ul>
Lecture 22
https://www.cs.unb.ca/~bremner//teaching/old/cs2023/events/L22/
<a href="../../whyCC/">by-nc-sa-2.5</a>
Copyright 2020, David Bremner
2010-09-11T20:23:13Z
2009-10-30T03:00:00Z
<ul>
<li><p>Chapter 13 Strings</p></li>
<li><p><span class="createlink">slides</span>
<span class="createlink">printable</span></p></li>
<li><p><a href="https://www.cs.unb.ca/~bremner//teaching/old/cs2023/about_slides/">about slides</a></p></li>
</ul>
Lecture 21
https://www.cs.unb.ca/~bremner//teaching/old/cs2023/events/L21/
<a href="../../whyCC/">by-nc-sa-2.5</a>
Copyright 2020, David Bremner
2010-09-11T20:23:13Z
2009-10-28T03:00:00Z
<ul>
<li><p>Chapter 12. Pointers and Arrays, Chapter 13 Strings</p></li>
<li><p><span class="createlink">slides</span>
<span class="createlink">printable</span></p></li>
<li><p><a href="https://www.cs.unb.ca/~bremner//teaching/old/cs2023/about_slides/">about slides</a></p></li>
</ul>
Lecture 19
https://www.cs.unb.ca/~bremner//teaching/old/cs2023/events/L20/
<a href="../../whyCC/">by-nc-sa-2.5</a>
Copyright 2020, David Bremner
2010-09-11T20:23:13Z
2009-10-26T03:00:00Z
<ul>
<li><p>Chapter 12. Pointers and Arrays</p></li>
<li><p><span class="createlink">slides</span>
<span class="createlink">printable</span></p></li>
<li><p><a href="https://www.cs.unb.ca/~bremner//teaching/old/cs2023/about_slides/">about slides</a></p></li>
</ul>
Lecture 19
https://www.cs.unb.ca/~bremner//teaching/old/cs2023/events/L19/
<a href="../../whyCC/">by-nc-sa-2.5</a>
Copyright 2020, David Bremner
2010-09-11T20:23:13Z
2009-10-23T03:00:00Z
<ul>
<li><p>Chapter 11, Chapter 12. pointers</p></li>
<li><p><span class="createlink">slides</span>
<span class="createlink">printable</span></p></li>
<li><p><a href="https://www.cs.unb.ca/~bremner//teaching/old/cs2023/about_slides/">about slides</a></p></li>
</ul>