<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: C, C++: Vetores de tamanho zero</title>
	<atom:link href="http://codare.net/2009/05/16/c-cpp-vetores-de-tamanho-zero/feed/" rel="self" type="application/rss+xml" />
	<link>http://codare.net/2009/05/16/c-cpp-vetores-de-tamanho-zero/</link>
	<description>Programadores, uni-vos!</description>
	<lastBuildDate>Wed, 16 May 2012 12:39:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Adam</title>
		<link>http://codare.net/2009/05/16/c-cpp-vetores-de-tamanho-zero/#comment-3698</link>
		<dc:creator>Adam</dc:creator>
		<pubDate>Tue, 12 Apr 2011 21:15:49 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/?p=348#comment-3698</guid>
		<description>Boa dica! e a do zpu k também!</description>
		<content:encoded><![CDATA[<p>Boa dica! e a do zpu k também!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Coster</title>
		<link>http://codare.net/2009/05/16/c-cpp-vetores-de-tamanho-zero/#comment-510</link>
		<dc:creator>Coster</dc:creator>
		<pubDate>Wed, 27 May 2009 01:14:09 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/?p=348#comment-510</guid>
		<description>Se não me engano, o Codewarrior suporta isso também. Uma forma portável de fazer isso é declarando o array no fim da struct como tendo um elemento.

Supondo que a struct seja do tipo S, e o array do tipo T (e o queremos com n elementos), é só alocar usando malloc(sizeof(S) + (n - 1) * sizeof(T))</description>
		<content:encoded><![CDATA[<p>Se não me engano, o Codewarrior suporta isso também. Uma forma portável de fazer isso é declarando o array no fim da struct como tendo um elemento.</p>
<p>Supondo que a struct seja do tipo S, e o array do tipo T (e o queremos com n elementos), é só alocar usando malloc(sizeof(S) + (n &#8211; 1) * sizeof(T))</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Murilo Adriano</title>
		<link>http://codare.net/2009/05/16/c-cpp-vetores-de-tamanho-zero/#comment-509</link>
		<dc:creator>Murilo Adriano</dc:creator>
		<pubDate>Mon, 25 May 2009 01:32:16 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/?p=348#comment-509</guid>
		<description>Pra mim essa é nova...
Gostei da idéia!
Vou testar algumas coisinhas!</description>
		<content:encoded><![CDATA[<p>Pra mim essa é nova&#8230;<br />
Gostei da idéia!<br />
Vou testar algumas coisinhas!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zpu k</title>
		<link>http://codare.net/2009/05/16/c-cpp-vetores-de-tamanho-zero/#comment-508</link>
		<dc:creator>zpu k</dc:creator>
		<pubDate>Mon, 18 May 2009 07:08:15 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/?p=348#comment-508</guid>
		<description>C99 suporta &quot;flexible arrays&quot;. Referência: http://publib.boulder.ibm.com/infocenter/comphelp/v9v111/index.jsp?topic=/com.ibm.xlcpp9.aix.doc/language_ref/strct.htm

Ver ali &quot;Flexible array members&quot; e &quot;Zero-extent array members&quot;. Especificamente:
&quot;&quot;&quot;...
Zero-extent array members

A zero-extent array is an array with no dimensions. Like a flexible array member, a zero-extent array can be used to access a variable-length object. Unlike a flexible array member, a zero-extent array is not a C99 feature, but is provided for GNU C compatibility.
...&quot;&quot;&quot;

;]</description>
		<content:encoded><![CDATA[<p>C99 suporta &#8220;flexible arrays&#8221;. Referência: <a href="http://publib.boulder.ibm.com/infocenter/comphelp/v9v111/index.jsp?topic=/com.ibm.xlcpp9.aix.doc/language_ref/strct.htm" rel="nofollow">http://publib.boulder.ibm.com/infocenter/comphelp/v9v111/index.jsp?topic=/com.ibm.xlcpp9.aix.doc/language_ref/strct.htm</a></p>
<p>Ver ali &#8220;Flexible array members&#8221; e &#8220;Zero-extent array members&#8221;. Especificamente:<br />
&#8220;&#8221;"&#8230;<br />
Zero-extent array members</p>
<p>A zero-extent array is an array with no dimensions. Like a flexible array member, a zero-extent array can be used to access a variable-length object. Unlike a flexible array member, a zero-extent array is not a C99 feature, but is provided for GNU C compatibility.<br />
&#8230;&#8221;"&#8221;</p>
<p>;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Douglas</title>
		<link>http://codare.net/2009/05/16/c-cpp-vetores-de-tamanho-zero/#comment-507</link>
		<dc:creator>Douglas</dc:creator>
		<pubDate>Sun, 17 May 2009 03:56:06 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/?p=348#comment-507</guid>
		<description>Oooopss... my bad</description>
		<content:encoded><![CDATA[<p>Oooopss&#8230; my bad</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thiago Marcos P. Santos</title>
		<link>http://codare.net/2009/05/16/c-cpp-vetores-de-tamanho-zero/#comment-506</link>
		<dc:creator>Thiago Marcos P. Santos</dc:creator>
		<pubDate>Sun, 17 May 2009 03:40:23 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/?p=348#comment-506</guid>
		<description>Sim, é uma extensão do GCC apenas, como disse na dica. Quem quiser fazer um código portável entre compiladores vai ter que viver sem essa. :)</description>
		<content:encoded><![CDATA[<p>Sim, é uma extensão do GCC apenas, como disse na dica. Quem quiser fazer um código portável entre compiladores vai ter que viver sem essa. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Douglas</title>
		<link>http://codare.net/2009/05/16/c-cpp-vetores-de-tamanho-zero/#comment-505</link>
		<dc:creator>Douglas</dc:creator>
		<pubDate>Sun, 17 May 2009 00:09:06 +0000</pubDate>
		<guid isPermaLink="false">http://codare.net/?p=348#comment-505</guid>
		<description>Funciona por causa do compilador.

struct pessoa * cria_pessoa(int idade, char* nome)
{
    ...
    strcpy(novo-&gt;nome, nome); /* aqui deveria dar segfault */
    ...
}

Compilando no gcc 4.0.1 no macbook sem usar flags, passa. Mas com -pedantic gera warning:
vet0.c:7: warning: ISO C forbids zero-size array ‘nome’</description>
		<content:encoded><![CDATA[<p>Funciona por causa do compilador.</p>
<p>struct pessoa * cria_pessoa(int idade, char* nome)<br />
{<br />
    &#8230;<br />
    strcpy(novo-&gt;nome, nome); /* aqui deveria dar segfault */<br />
    &#8230;<br />
}</p>
<p>Compilando no gcc 4.0.1 no macbook sem usar flags, passa. Mas com -pedantic gera warning:<br />
vet0.c:7: warning: ISO C forbids zero-size array ‘nome’</p>
]]></content:encoded>
	</item>
</channel>
</rss>

