<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Zeiger auf Element in mehrdimensionalen Arrays]]></title><description><![CDATA[<p>Hallo,</p>
<p>in einem Programm habe ich ein mehrdimensionales Array vom Typ char, das 3x3 char-Speicherplätze enthält.<br />
In jedem Array wird dann eine hexadezimale Zahl zwischen &quot;00&quot; und &quot;FF&quot; gespeichert.</p>
<p>Sieht dann in etwa so aus:</p>
<pre><code class="language-cpp">char c[3][3]
c[0][0]='A';
c[0][1]='B';
c[0][2]='\0';
c[1][0]='C';
//...
c[2][2]='\0';
</code></pre>
<p>Als Nächstes soll die als char-Array gespeicherte Zahl in einen entsprechenden char-Wert umgewandelt werden (z.B. FF wird zu 255).</p>
<p>Dafür hab ich eine Funktion geschrieben, die ein char-Zeiger als 1. Parameter und das entsprechende Zahlensystem als 2.Parameter erwartet.</p>
<p>Leider funktioniert die Referenzierung nicht:</p>
<pre><code class="language-cpp">int i=ConvertToInt(&amp;c[1],16);
</code></pre>
<p>Der Compiler erzeugt damit folgenden Fehler:</p>
<blockquote>
<p>error C2440: 'Initialisierung': 'char (*)[3]' kann nicht in 'char *' konvertiert werden</p>
</blockquote>
<p>Kann mir jemand also sagen, wie ich die Speicheraddresse von c[1] abfragen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/307308/zeiger-auf-element-in-mehrdimensionalen-arrays</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 20:50:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/307308.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Aug 2012 05:25:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger auf Element in mehrdimensionalen Arrays on Thu, 23 Aug 2012 05:25:20 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>in einem Programm habe ich ein mehrdimensionales Array vom Typ char, das 3x3 char-Speicherplätze enthält.<br />
In jedem Array wird dann eine hexadezimale Zahl zwischen &quot;00&quot; und &quot;FF&quot; gespeichert.</p>
<p>Sieht dann in etwa so aus:</p>
<pre><code class="language-cpp">char c[3][3]
c[0][0]='A';
c[0][1]='B';
c[0][2]='\0';
c[1][0]='C';
//...
c[2][2]='\0';
</code></pre>
<p>Als Nächstes soll die als char-Array gespeicherte Zahl in einen entsprechenden char-Wert umgewandelt werden (z.B. FF wird zu 255).</p>
<p>Dafür hab ich eine Funktion geschrieben, die ein char-Zeiger als 1. Parameter und das entsprechende Zahlensystem als 2.Parameter erwartet.</p>
<p>Leider funktioniert die Referenzierung nicht:</p>
<pre><code class="language-cpp">int i=ConvertToInt(&amp;c[1],16);
</code></pre>
<p>Der Compiler erzeugt damit folgenden Fehler:</p>
<blockquote>
<p>error C2440: 'Initialisierung': 'char (*)[3]' kann nicht in 'char *' konvertiert werden</p>
</blockquote>
<p>Kann mir jemand also sagen, wie ich die Speicheraddresse von c[1] abfragen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244614</guid><dc:creator><![CDATA[Taeli]]></dc:creator><pubDate>Thu, 23 Aug 2012 05:25:20 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Element in mehrdimensionalen Arrays on Thu, 23 Aug 2012 05:36:30 GMT]]></title><description><![CDATA[<p>Taeli schrieb:</p>
<blockquote>
<p>Kann mir jemand also sagen, wie ich die Speicheraddresse von c[1] abfragen kann?</p>
</blockquote>
<p>Mit &amp;c[1]. Aber das willst du nicht. Du willst c[1], nicht die Adresse von c[1]. Und c[1] bekommst du mit.. na ja.. c[1] eben. Oder aber wahlweise auch über &amp;c[1][0]. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
<a href="http://ideone.com/xGmgR" rel="nofollow">http://ideone.com/xGmgR</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244615</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Thu, 23 Aug 2012 05:36:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Element in mehrdimensionalen Arrays on Thu, 23 Aug 2012 05:36:18 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int ConvertToInt(const char* z, unsigned b)
{
	return 123;
}

int main()
{
	char c[3][3] = {&quot;AA&quot;,&quot;BB&quot;,&quot;CC&quot;};

	int i = ConvertToInt(&amp;c[0][0],16);
	i = ConvertToInt(&amp;c[1][0],16);
	i = ConvertToInt(&amp;c[2][0],16);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2244616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244616</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Thu, 23 Aug 2012 05:36:18 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Element in mehrdimensionalen Arrays on Thu, 23 Aug 2012 07:16:02 GMT]]></title><description><![CDATA[<p>Hat geklappt, danke! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Und nochmal danke für den Tipp mit den Klammern bei der Array-Definierung. Wird mir in Zukunft wahrscheinlich etliche Zeilen Code sparen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244633</guid><dc:creator><![CDATA[Taeli]]></dc:creator><pubDate>Thu, 23 Aug 2012 07:16:02 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Element in mehrdimensionalen Arrays on Thu, 23 Aug 2012 07:19:38 GMT]]></title><description><![CDATA[<p>Taeli schrieb:</p>
<blockquote>
<p>Wird mir in Zukunft wahrscheinlich etliche Zeilen Code sparen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Wenn du dir noch mehr Zeit sparen willst, solltest du das nächste Mal überlegen, ob nicht ein std::vector die bessere Wahl als ein Array ist. Das ist nämlich meistens der Fall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244636</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244636</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 23 Aug 2012 07:19:38 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Element in mehrdimensionalen Arrays on Thu, 23 Aug 2012 07:35:17 GMT]]></title><description><![CDATA[<p>daddy_felix schrieb:</p>
<blockquote>
<p>Wenn du dir noch mehr Zeit sparen willst, solltest du das nächste Mal überlegen, ob nicht ein std::vector die bessere Wahl als ein Array ist.</p>
</blockquote>
<p>In dem Fall wäre ein std::array die noch bessere Wahl...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2244638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244638</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 23 Aug 2012 07:35:17 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger auf Element in mehrdimensionalen Arrays on Fri, 24 Aug 2012 06:03:21 GMT]]></title><description><![CDATA[<p>Ich stimme meinen vorpostern zu, dass man auf std::vector bzw. array zugreifen sollte, wenn es allerdings umbedingt nen 2Dimensionales Array mit Pointern sein muss (warum auch immer) versuch das mit einem einzigen Pointer zu realisieren.</p>
<pre><code class="language-cpp">template&lt;typename T&gt;
class Array2D
{
	size_t width_;
	size_t height_;
	T* pArr;

public:
	explicit Array2D(size_t width = 0, size_t height = 0);
	Array2D(const Array2D&amp; rhs);
	Array2D(Array2D&amp;&amp; rhs);
	~Array2D();
	template&lt;typename U&gt; friend void swap(Array2D&lt;U&gt;&amp; lhs, Array2D&lt;U&gt;&amp; rhs);
	auto operator=(Array2D rhs) -&gt; Array2D&amp;;

	auto width() const -&gt; size_t;
	auto height() const -&gt; size_t;
	auto operator[](int x) -&gt; T*;
	auto operator[](int x) const -&gt; const T*;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2244639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2244639</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Fri, 24 Aug 2012 06:03:21 GMT</pubDate></item></channel></rss>