<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Accesing 2d arrays with pointer notation</title>
		<link>http://www.allegro.cc/forums/view/583086</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 12 May 2006 09:17:00 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As all of us already know -&gt;</p><div class="source-code snippet"><div class="inner"><pre>array<span class="k2">[</span><span class="n">4</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="k3">*</span><span class="k2">(</span>array<span class="k3">+</span><span class="n">4</span><span class="k2">)</span>

<span class="c">/* BUT */</span>

array<span class="k2">[</span><span class="n">4</span><span class="k2">]</span><span class="k2">[</span><span class="n">4</span><span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> ?????
</pre></div></div><p>

If I have a 2d array like this: array[4][4], how can I access to its elements with pointers notation?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 04 May 2006 05:52:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well just try it out:</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;stdio.h&gt;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">4</td><td>  <span class="k1">char</span> foo<span class="k2">[</span> <span class="n">5</span> <span class="k2">]</span><span class="k2">[</span> <span class="n">5</span> <span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo = %p\n"</span>, foo <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[0] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">0</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[1] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">1</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[2] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">2</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[3] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">3</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[0][0] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">0</span> <span class="k2">]</span><span class="k2">[</span> <span class="n">0</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[0][1] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">0</span> <span class="k2">]</span><span class="k2">[</span> <span class="n">1</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[0][2] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">0</span> <span class="k2">]</span><span class="k2">[</span> <span class="n">2</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[0][3] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">0</span> <span class="k2">]</span><span class="k2">[</span> <span class="n">3</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[0][4] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">0</span> <span class="k2">]</span><span class="k2">[</span> <span class="n">4</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Foo[0][5] = %p\n"</span>, <span class="k3">&amp;</span>foo<span class="k2">[</span> <span class="n">0</span> <span class="k2">]</span><span class="k2">[</span> <span class="n">5</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

Produces this:
</p><div class="source-code snippet"><div class="inner"><pre>Foo <span class="k3">=</span> <span class="n">0xbffff3f0</span>
Foo<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3f0</span>
Foo<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3f5</span>
Foo<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3fa</span>
Foo<span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3ff</span>
Foo<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3f0</span>
Foo<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3f1</span>
Foo<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3f2</span>
Foo<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3f3</span>
Foo<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">4</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3f4</span>
Foo<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">5</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbffff3f5</span>
</pre></div></div><p>

You can see that the second index into the first array is exactly N bytes away where N = sizeof(type) * elements in the second array.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kazzmir)</author>
		<pubDate>Thu, 04 May 2006 06:01:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>but how can I access to its elements with pointer notation?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 04 May 2006 06:06:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> array<span class="k2">[</span>h<span class="k2">]</span><span class="k2">[</span>w<span class="k2">]</span><span class="k2">;</span>
array<span class="k2">[</span>y<span class="k2">]</span><span class="k2">[</span>x<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="k3">*</span><span class="k2">(</span>array <span class="k3">+</span> y<span class="k3">*</span>w <span class="k3">+</span> x<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kitty Cat)</author>
		<pubDate>Thu, 04 May 2006 06:21:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Edit:  Sorry, this was a wrong response...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Carrus85)</author>
		<pubDate>Thu, 04 May 2006 06:21:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If it&#39;s an <span class="source-code"><span class="k1">int</span> <span class="k3">*</span><span class="k3">*</span>array<span class="k2">;</span></span> that&#39;s what you do. But <span class="source-code"><span class="k1">int</span> array<span class="k2">[</span><span class="k2">]</span><span class="k2">[</span><span class="k2">]</span></span> isn&#39;t the same because it&#39;s all one contiguous block in memory. The only pointer is the implicit ones the compiler gives you.<br />A test:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">int</span> array<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">;</span>
  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"&amp;array = %p\n&amp;array[0] = %p\n&amp;array[0][0] = %p\n"</span>,
         <span class="k3">&amp;</span>array, <span class="k3">&amp;</span>array<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>, <span class="k3">&amp;</span>array<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
gives (with added spacing for ease-of-reading):
</p><div class="source-code snippet"><div class="inner"><pre><span class="k3">&amp;</span>array       <span class="k3">=</span> <span class="n">0xbfb44f64</span>
<span class="k3">&amp;</span>array<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>    <span class="k3">=</span> <span class="n">0xbfb44f64</span>
<span class="k3">&amp;</span>array<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">0xbfb44f64</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kitty Cat)</author>
		<pubDate>Thu, 04 May 2006 06:38:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thank you Kitticat, that was really helpful!!!</p><p>Well I really suck at strings manipulations, look a this</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="c">/* CONSOLE APPLICATION*/</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;stdio.h&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;conio.h&gt;</span></td></tr><tr><td class="number">4</td><td>&#160;</td></tr><tr><td class="number">5</td><td><span class="k1">void</span> main <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">6</td><td><span class="k2">{</span></td></tr><tr><td class="number">7</td><td><span class="c">/* Prototipos de funciones */</span></td></tr><tr><td class="number">8</td><td><span class="k1">void</span> carga_datos<span class="k2">(</span><span class="k1">char</span> nya<span class="k2">[</span><span class="n">6</span><span class="k2">]</span><span class="k2">[</span><span class="n">20</span><span class="k2">]</span>, <span class="k1">float</span> <span class="k3">*</span>notas<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td><span class="k1">char</span> nombres <span class="k2">[</span><span class="n">6</span><span class="k2">]</span><span class="k2">[</span><span class="n">20</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td><span class="k1">float</span> notas<span class="k2">[</span><span class="n">6</span><span class="k2">]</span><span class="k2">[</span><span class="n">20</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>carga_datos<span class="k2">(</span>nombres, notas<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td><span class="k2">}</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td><span class="k1">void</span> carga_datos<span class="k2">(</span><span class="k1">char</span> nya<span class="k2">[</span><span class="n">6</span><span class="k2">]</span><span class="k2">[</span><span class="n">20</span><span class="k2">]</span>, <span class="k1">float</span> <span class="k3">*</span>notas<span class="k2">)</span></td></tr><tr><td class="number">16</td><td><span class="k2">{</span></td></tr><tr><td class="number">17</td><td><span class="k1">int</span> i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td><span class="k1">char</span> coco<span class="k2">[</span><span class="n">20</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td><span class="k1">do</span><span class="k2">{</span></td></tr><tr><td class="number">20</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\nEnter name :"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>   <a href="http://www.delorie.com/djgpp/doc/libc/libc_315.html" target="_blank">fflush</a><span class="k2">(</span>stdin<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>   <a href="http://www.delorie.com/djgpp/doc/libc/libc_670.html" target="_blank">scanf</a><span class="k2">(</span><span class="s">"%s"</span>,<span class="k3">&amp;</span>nya<span class="k3">&lt;</span>i&gt;<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>   i<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td><span class="k2">}</span><span class="k1">while</span><span class="k2">(</span>i<span class="k3">&lt;</span><span class="n">6</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>&#160;</td></tr><tr><td class="number">26</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_383.html" target="_blank">getch</a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td><span class="c">/* now show the strtings*/</span></td></tr><tr><td class="number">29</td><td>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td><span class="k1">do</span><span class="k2">{</span></td></tr><tr><td class="number">31</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\nName :%s"</span>,nya<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">/*&lt;-ERROR HERE*/</span></td></tr><tr><td class="number">32</td><td>   i<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td><span class="k2">}</span><span class="k1">while</span><span class="k2">(</span>i<span class="k3">&lt;</span><span class="n">6</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_383.html" target="_blank">getch</a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>&#160;</td></tr><tr><td class="number">36</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

I get an error in the marked line, What the heck am I doing wrong?<br />I am going to make 2 versions of this stupid program, one with indexes, and the other one with pointer notation, however I can&#39;t code the easy one with indexes</p><p><img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 04 May 2006 10:15:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I refuse to help anyone using conio.h <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>Just teasing. You should be using something like <i>printf(&quot;\nName :%s&quot;,(char *)(nya[0]));</i>, maybe <i>printf(&quot;\nName :%s&quot;,(char *)(&amp;nya[0]));</i>, although I am not sure which one is correct.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Thu, 04 May 2006 10:38:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You&#39;re passing a char, but it&#39;s expecting a pointer to a char. You&#39;d pass nya[0] (or it looks like you meant nya[i]), which will give a pointer to the string.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kitty Cat)</author>
		<pubDate>Thu, 04 May 2006 10:43:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Master Rey, you know all the answers as usual!!!<br />Thats works, I am going to KILL my teacher, <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
You&#39;re passing a char, but it&#39;s expecting a pointer to a char. You&#39;d pass nya(0) (or it looks like you meant nya(i)), which will give a pointer to the string.
</p></div></div><p>

Well, so I have to omit the second index, now I think pointer notation is easier than indexes:P</p><p>EDIT:<br />&amp;nya[5][5] is a pointer to a char(a 2d pointer?)<br />nya[5][5] is a char<br />nya[5] is a pointer to a char</p><p>isn&#39;t a bit confusing? now I really think pointer notation is easier.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 04 May 2006 10:44:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
&amp;nya[5][5] is a pointer to a char(a 2d pointer?)
</p></div></div><p>

Not really. This is no different than in the following snippet:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> <span class="k3">*</span>ptr, value<span class="k2">;</span>
ptr <span class="k3">=</span> <span class="k3">&amp;</span>value<span class="k2">;</span>
</pre></div></div><p>

ptr is the pointer. We can point ptr at value though by assigning the address of value (&amp;value) to it. Similarly, you can assign &amp;nya[5][5] to a pointer. Or &amp;nya[5] (or even &amp;nya).</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
nya[5][5] is a char<br />nya[5] is a pointer to a char
</p></div></div><p>

If you think of nya[5] as not just being a pointer to a char, but a pointer to an array of chars, it makes more sense.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Fri, 05 May 2006 05:52:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Finally finished, I didn&#39;t follow KittiCat way exactly, but it works the same.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;stdio.h&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;conio.h&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;string.h&gt;    /* Solo se usa para strcpy */</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;stdlib.h&gt;    /* Solo se usa para exit */</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td><span class="p">#define nya_fil 6      /* Cant. de filas para el array nya (nombre y appellido) */</span></td></tr><tr><td class="number">7</td><td><span class="p">#define nya_col 20    /* Cant. de columnas para el arrya nya (nombre y appellido) */</span></td></tr><tr><td class="number">8</td><td><span class="p">#define notas_fil 6    /* Cant. de filas para el array de notas */</span></td></tr><tr><td class="number">9</td><td><span class="p">#define notas_col 7    /* Cant. de coumnas para el array de notas (6 notas + promedio = 7)*/</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td><span class="c">/* Struct para grabar a archivo */</span></td></tr><tr><td class="number">12</td><td><span class="k1">struct</span> _alumno <span class="k2">{</span></td></tr><tr><td class="number">13</td><td>  <span class="k1">char</span> nya<span class="k2">[</span><span class="n">20</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>   <span class="k1">float</span> promedio<span class="k2">;</span>                </td></tr><tr><td class="number">15</td><td><span class="k2">}</span> _alumno<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td><span class="c">/* Usado para volcar los datos desde las matrices y grabar el archivo */</span></td></tr><tr><td class="number">18</td><td><span class="k1">struct</span> _alumno alumnos<span class="k2">[</span><span class="n">6</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td><span class="c">/* Usado para verificacion, permanecera vacio, se cargara solo con los valores leidos desde archivo */</span></td></tr><tr><td class="number">20</td><td><span class="k1">struct</span> _alumno alumnos_archivo<span class="k2">[</span><span class="n">6</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td><span class="c">/*------------------------------------------ MAIN --------------------------------------------- */</span></td></tr><tr><td class="number">23</td><td><span class="k1">void</span> main <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">24</td><td><span class="k2">{</span></td></tr><tr><td class="number">25</td><td><span class="c">/* Puntero para archivo */</span></td></tr><tr><td class="number">26</td><td>FILE <span class="k3">*</span>archivo<span class="k2">;</span></td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</td><td><span class="c">/* Prototipos de funcione */</span></td></tr><tr><td class="number">29</td><td><span class="k1">float</span> promedio<span class="k2">(</span><span class="k1">float</span> <span class="k3">*</span>notas, <span class="k1">int</span> alumno<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>&#160;</td></tr><tr><td class="number">31</td><td><span class="c">/* 1ro filas, luego columnas, array[filas][columans] */</span></td></tr><tr><td class="number">32</td><td><span class="k1">char</span> _nya <span class="k2">[</span>nya_fil<span class="k2">]</span><span class="k2">[</span>nya_col<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td><span class="k1">float</span> _notas<span class="k2">[</span>notas_fil<span class="k2">]</span><span class="k2">[</span>notas_col<span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>&#160;</td></tr><tr><td class="number">35</td><td><span class="k1">char</span> <span class="k3">*</span>nya <span class="k3">=</span> _nya<span class="k2">;</span></td></tr><tr><td class="number">36</td><td><span class="k1">float</span> <span class="k3">*</span>notas <span class="k3">=</span> _notas<span class="k2">;</span></td></tr><tr><td class="number">37</td><td>&#160;</td></tr><tr><td class="number">38</td><td><span class="c">/* Cargo los nombres y apellidos primero */</span></td></tr><tr><td class="number">39</td><td><span class="k1">int</span> i<span class="k3">=</span><span class="n">0</span>,j<span class="k3">=</span><span class="n">0</span>,k<span class="k3">=</span><span class="n">0</span>,l<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td><span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> i<span class="k3">&lt;</span><span class="k2">(</span>nya_fil<span class="k3">*</span>nya_col<span class="k2">)</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">=</span>nya_col<span class="k2">)</span>  <span class="k2">{</span></td></tr><tr><td class="number">41</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Enter name and surname -&gt;"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>   <a href="http://www.delorie.com/djgpp/doc/libc/libc_315.html" target="_blank">fflush</a><span class="k2">(</span>stdin<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>   <a href="http://www.delorie.com/djgpp/doc/libc/libc_417.html" target="_blank">gets</a><span class="k2">(</span>nya<span class="k3">+</span>i<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>   <span class="k3">*</span><span class="k2">(</span>nya<span class="k3">+</span>i<span class="k3">+</span><span class="n">19</span><span class="k2">)</span><span class="k3">=</span><span class="s">'\0'</span><span class="k2">;</span>  <span class="c">/* No dejo ingresar mas de 20 caracteres */</span></td></tr><tr><td class="number">45</td><td>&#160;</td></tr><tr><td class="number">46</td><td>   <span class="c">/* Linea agregada para grabar datos a struct */</span></td></tr><tr><td class="number">47</td><td>   <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>alumnos<span class="k2">[</span>j<span class="k2">]</span>.nya, nya<span class="k3">+</span>i<span class="k2">)</span><span class="k2">;</span>  j<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td><span class="k2">}</span></td></tr><tr><td class="number">49</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_383.html" target="_blank">getch</a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>&#160;</td></tr><tr><td class="number">51</td><td><span class="c">/* Ahora cargo las 6 notas y calculo el promedio  */</span></td></tr><tr><td class="number">52</td><td>j<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">53</td><td><span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> i<span class="k3">&lt;</span><span class="k2">(</span>nya_fil<span class="k3">*</span>nya_col<span class="k2">)</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">=</span>nya_col<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">54</td><td>  <span class="k1">for</span><span class="k2">(</span>k<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> k<span class="k3">&lt;</span><span class="n">6</span><span class="k2">;</span> k<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">55</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Enter score number %d, for student %s -&gt;"</span>,k<span class="k3">+</span><span class="n">1</span>, nya<span class="k3">+</span>i<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">56</td><td>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_315.html" target="_blank">fflush</a><span class="k2">(</span>stdin<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">57</td><td>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_670.html" target="_blank">scanf</a><span class="k2">(</span><span class="s">"%f"</span>,notas<span class="k3">+</span>j<span class="k3">+</span>k<span class="k2">)</span><span class="k2">;</span>          </td></tr><tr><td class="number">58</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">59</td><td>    <span class="c">/* En la 7ma posicion del la matriz le mando el promedio llamando a funcion */</span></td></tr><tr><td class="number">60</td><td>    <span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>j<span class="k3">+</span>k<span class="k2">)</span><span class="k3">=</span>promedio<span class="k2">(</span>notas,j<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">61</td><td>&#160;</td></tr><tr><td class="number">62</td><td>    <span class="c">/* Linea agregada para grabar datos a struct */</span></td></tr><tr><td class="number">63</td><td>    alumnos<span class="k2">[</span>l<span class="k2">]</span>.promedio <span class="k3">=</span> <span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>j<span class="k3">+</span>k<span class="k2">)</span><span class="k2">;</span> l<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">64</td><td>&#160;</td></tr><tr><td class="number">65</td><td>    <span class="c">/* Salto al siguiente alumno */</span></td></tr><tr><td class="number">66</td><td>    j<span class="k3">+</span><span class="k3">=</span>notas_col<span class="k2">;</span></td></tr><tr><td class="number">67</td><td><span class="k2">}</span>                                                               </td></tr><tr><td class="number">68</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_383.html" target="_blank">getch</a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">69</td><td>&#160;</td></tr><tr><td class="number">70</td><td><span class="c">/* PUNTO A. Muestrto los datos ingresados tal como lo pide el ejercicio */</span></td></tr><tr><td class="number">71</td><td>j<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">72</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\nNAME AND SURNAME          SCORES             AVERAGE\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">73</td><td><span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> i<span class="k3">&lt;</span><span class="k2">(</span>nya_fil<span class="k3">*</span>nya_col<span class="k2">)</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">=</span>nya_col<span class="k2">)</span><span class="k2">{</span>    <span class="c">//Recorro array de nombres</span></td></tr><tr><td class="number">74</td><td>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%-20s   %.1f  %.1f  %.1f  %.1f  %.1f  %.1f      %.1f \n"</span>,nya<span class="k3">+</span>i,<span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>j<span class="k2">)</span>,<span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>j<span class="k3">+</span><span class="n">1</span><span class="k2">)</span>,<span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>j<span class="k3">+</span><span class="n">2</span><span class="k2">)</span>,<span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>j<span class="k3">+</span><span class="n">3</span><span class="k2">)</span>,<span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>j<span class="k3">+</span><span class="n">4</span><span class="k2">)</span>,<span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>j<span class="k3">+</span><span class="n">5</span><span class="k2">)</span>,<span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>j<span class="k3">+</span><span class="n">6</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">75</td><td>     j<span class="k3">+</span><span class="k3">=</span>notas_col<span class="k2">;</span></td></tr><tr><td class="number">76</td><td><span class="k2">}</span></td></tr><tr><td class="number">77</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\nPress a key to save data . . ."</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_383.html" target="_blank">getch</a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">79</td><td>&#160;</td></tr><tr><td class="number">80</td><td><span class="c">/* PUNTO B. Grabamo todo a archivo */</span></td></tr><tr><td class="number">81</td><td>archivo <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"ALUMNOS.DAT"</span>, <span class="s">"wb"</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">/* Abro archivo para escritura */</span></td></tr><tr><td class="number">82</td><td><span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>archivo<span class="k2">)</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"File Error"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">83</td><td><span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> i<span class="k3">&lt;</span><span class="n">6</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>  <span class="k2">{</span></td></tr><tr><td class="number">84</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_371.html" target="_blank">fwrite</a><span class="k2">(</span><span class="k3">&amp;</span>alumnos, <span class="k1">sizeof</span><span class="k2">(</span>alumnos<span class="k2">)</span>, <span class="n">1</span>, archivo<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">85</td><td><span class="k2">}</span></td></tr><tr><td class="number">86</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span>archivo<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">87</td><td>&#160;</td></tr><tr><td class="number">88</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\nFile saved."</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">89</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\nPress a key for loading data from file. . .\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">90</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_383.html" target="_blank">getch</a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">91</td><td>&#160;</td></tr><tr><td class="number">92</td><td>archivo <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"ALUMNOS.DAT"</span>, <span class="s">"rb"</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">/* Abro archivo para lectura */</span></td></tr><tr><td class="number">93</td><td><span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> i<span class="k3">&lt;</span><span class="n">6</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>  <span class="k2">{</span></td></tr><tr><td class="number">94</td><td>   <span class="c">/* Cargo los datos del archivo al array vacio que he reservado */</span></td></tr><tr><td class="number">95</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_349.html" target="_blank">fread</a><span class="k2">(</span><span class="k3">&amp;</span>alumnos_archivo, <span class="k1">sizeof</span><span class="k2">(</span>alumnos_archivo<span class="k2">)</span>, <span class="n">1</span>, archivo<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">96</td><td>   <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"\nAverage : %.1f , student %s"</span>,alumnos_archivo<span class="k3">&lt;</span>i&gt;.promedio, alumnos_archivo<span class="k3">&lt;</span>i&gt;.nya<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">97</td><td>   <a href="http://www.delorie.com/djgpp/doc/libc/libc_383.html" target="_blank">getch</a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">98</td><td><span class="k2">}</span></td></tr><tr><td class="number">99</td><td><a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span>archivo<span class="k2">)</span><span class="k2">;</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_383.html" target="_blank">getch</a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">100</td><td><span class="k2">}</span></td></tr><tr><td class="number">101</td><td>&#160;</td></tr><tr><td class="number">102</td><td><span class="c">/*------------------------------------- PROMEDIO == AVERAGE -------------------------------------------*/</span></td></tr><tr><td class="number">103</td><td><span class="k1">float</span> promedio<span class="k2">(</span><span class="k1">float</span> <span class="k3">*</span>notas, <span class="k1">int</span> alumno<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">104</td><td><span class="k1">int</span> i<span class="k2">;</span></td></tr><tr><td class="number">105</td><td><span class="k1">float</span> sumatoria<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">106</td><td><span class="k1">for</span><span class="k2">(</span>i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>i<span class="k3">&lt;</span><span class="n">6</span><span class="k2">;</span>i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">107</td><td>  sumatoria<span class="k3">+</span><span class="k3">=</span><span class="k3">*</span><span class="k2">(</span>notas<span class="k3">+</span>i<span class="k3">+</span>alumno<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">108</td><td><span class="k2">}</span></td></tr><tr><td class="number">109</td><td>sumatoria <span class="k3">=</span> sumatoria<span class="k3">/</span><span class="k2">(</span>notas_col-1<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">110</td><td><span class="k1">return</span> sumatoria<span class="k2">;</span></td></tr><tr><td class="number">111</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>


EDIT: I NEED HELP</p><p>I am getting 2 warinings, I am using Borland C++5.0 compiler (win16 console app), but a friend of mine obtained 2 errors instead, compiling with Borland C++5.2.</p><p>These are the lines:<br />(36, 5) Suspicious pointer conversion<br />(38, 8) Suspicious pointer conversion
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Tue, 09 May 2006 22:06:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Dont use pointers if you dont have to.<br />Optimzing compilers can do as good or better job of arrays using normal notation (due to aliasing issues)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (A J)</author>
		<pubDate>Wed, 10 May 2006 14:25:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Kitty Cat said:</div><div class="quote"><p>

int array[h][w];<br />array[y][x] == *(array + y*w + x);
</p></div></div><p>

what about <span class="source-code">array<span class="k2">[</span>y<span class="k2">]</span><span class="k2">[</span>x<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="k3">*</span><span class="k2">(</span> <span class="k2">(</span><span class="k3">*</span><span class="k2">(</span>array <span class="k3">+</span> y<span class="k2">)</span><span class="k2">)</span> <span class="k3">+</span> x<span class="k2">)</span><span class="k2">;</span></span> instead?</p><p>AE.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Andrei Ellman)</author>
		<pubDate>Thu, 11 May 2006 03:38:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><span class="source-code">array<span class="k2">[</span>y<span class="k2">]</span><span class="k2">[</span>x<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="k3">*</span><span class="k2">(</span> <span class="k2">(</span><span class="k3">*</span><span class="k2">(</span>array <span class="k3">+</span> y<span class="k2">)</span><span class="k2">)</span> <span class="k3">+</span> x<span class="k2">)</span><span class="k2">;</span></span><br />With a static 2d array will cause a compile error. array+y will give you &amp;array[0][y] (remember, an array != a pointer. the only pointer you get from an array is an implicit one from the compiler), deref that and add x, you modify the value at [0][y], and get an int. Try to deref that, and the compiler will error on you. Try to force it with a cast, and you&#39;ll more than likely sigsegv.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kitty Cat)</author>
		<pubDate>Thu, 11 May 2006 05:09:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I am getting 2 warinings . . .<br />These are the lines:<br />(36, 5) Suspicious pointer conversion<br />(38, 8) Suspicious pointer conversion
</p></div></div><p>

</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">char</span> <span class="k3">*</span>nya <span class="k3">=</span> _nya<span class="k2">;</span> <span class="c">/* wrong */</span>
<span class="k1">char</span> <span class="k3">*</span>nya <span class="k3">=</span> _nya<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">;</span> <span class="c">/* right */</span>
</pre></div></div><p>
Fixed!</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Dont use pointers if you dont have to.<br />Optimzing compilers can do as good or better job of arrays using normal notation (due to aliasing issues)
</p></div></div><p>

We are forced to use pointer notation in our exams, if we don&#39;t, we get disqualified.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Paul whoknows)</author>
		<pubDate>Thu, 11 May 2006 06:28:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I always thought that a 2D array was a pointer to an array of pointers into the data. I&#39;ve written some code that allocates dynamic 2D arrays. First, it allocates a block of memory equivalent to ysize*xsize*datasize, and then it allocates a separate 1D array equivalent to ysize*sizeof(void). This separate array is filled to point to each row of xsize*datasize bytes. The resulting array can be accessed using normal 2D array notation.</p><p>AE.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Andrei Ellman)</author>
		<pubDate>Fri, 12 May 2006 06:32:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>A pointer is a pointer , and an array is an array. <span class="source-code"><span class="k1">int</span> <span class="k3">*</span><span class="k3">*</span>ptr<span class="k2">;</span></span> is a pointer to a pointer, and <span class="source-code"><span class="k1">int</span> array<span class="k2">[</span>foo<span class="k2">]</span><span class="k2">[</span>bar<span class="k2">]</span><span class="k2">;</span></span> is an array of foo*bar elements. A pointer can point to an array, but a pointer is not an array.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kitty Cat)</author>
		<pubDate>Fri, 12 May 2006 09:17:00 +0000</pubDate>
	</item>
</rss>
