<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Копирование указателя и выделение памяти</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html</link>
    <description>Всем привет!&lt;br&gt;&lt;br&gt;Есть два указателя&lt;br&gt;&lt;br&gt;char *a, *b;&lt;br&gt;&lt;br&gt;Потом мы делаем&lt;br&gt;&lt;br&gt;a = b&lt;br&gt;a = malloc(100);&lt;br&gt;strcpy(a, &quot;lolo&quot;);&lt;br&gt;printf(&quot;&#037;s&quot;, b);&lt;br&gt;&lt;br&gt;&lt;br&gt;Когда делается malloc связка между a и b теряется. И printf выводит null.&lt;br&gt;&lt;br&gt;Можно ли как-нибудь сделать так, чтобы связка между указателями не терялась и printf выводил &quot;lolo&quot;?&lt;br&gt;&lt;br&gt;Заранее благодарен.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>

<item>
    <title>Копирование указателя и выделение памяти (Ivanr)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html#13</link>
    <pubDate>Sun, 22 Nov 2020 14:04:05 GMT</pubDate>
    <description>&amp;gt; И что именно происходит, если сделать вот такЖ &lt;br&gt;&amp;gt;     char *a, *b; &lt;br&gt;&amp;gt;     b = malloc(1); &lt;br&gt;&amp;gt;     a = b; &lt;br&gt;&amp;gt;     a = realloc(a, 1000); &lt;br&gt;&amp;gt;     strcpy(a, &quot;;aaa&quot;); &lt;br&gt;&amp;gt;     printf(&quot;&#037;s&quot;, b); &lt;br&gt;&lt;br&gt; Тут у тебя как повезет, реаллок может вернуть старый указатель, а может новый, но писать на авось это плохо&lt;br&gt;</description>
</item>

<item>
    <title>Копирование указателя и выделение памяти (Ivanr)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html#12</link>
    <pubDate>Sun, 22 Nov 2020 13:58:17 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; Потом мы делаем &lt;br&gt;&amp;gt; a = b &lt;br&gt;&amp;gt; a = malloc(100); &lt;br&gt;&amp;gt; strcpy(a, &quot;lolo&quot;); &lt;br&gt;&amp;gt; printf(&quot;&#037;s&quot;, b); &lt;br&gt;&amp;gt; Когда делается malloc связка между a и b теряется. И printf выводит &lt;br&gt;&amp;gt; null.&lt;br&gt;&amp;gt; Можно ли как-нибудь сделать так, чтобы связка между указателями не терялась и &lt;br&gt;&amp;gt; printf выводил &quot;lolo&quot;?&lt;br&gt;&amp;gt; Заранее благодарен.&lt;br&gt;&lt;br&gt;Когда выполняется следующая команда: &lt;br&gt; a = malloc(100)&lt;br&gt;&lt;br&gt;То значение, ранее содержащееся в переменной а заменяется тем, что вернул маллок&lt;br&gt;</description>
</item>

<item>
    <title>Копирование указателя и выделение памяти (Аноним)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html#11</link>
    <pubDate>Tue, 29 Sep 2020 07:39:29 GMT</pubDate>
    <description>Товаришь про присядку очень даже прав. Везде прямым текстом пишут - не надо вприсядку, указатели это весьма запутанная штука и без присядки легко сломать глаза, а если вприсядку так вообще . На лодошках поди уже щитина пробилась ?&lt;br&gt;</description>
</item>

<item>
    <title>Копирование указателя и выделение памяти (datswd)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html#10</link>
    <pubDate>Wed, 23 Sep 2020 12:39:59 GMT</pubDate>
    <description>&amp;gt; &quot;Я для чего это вам?&quot;&lt;br&gt;&lt;br&gt;*&quot;А для чего это вам?&quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Копирование указателя и выделение памяти (datswd)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html#9</link>
    <pubDate>Wed, 23 Sep 2020 12:14:43 GMT</pubDate>
    <description>Эххх....&lt;br&gt;Вы решили по кругу пройтись....&lt;br&gt;Прочитайте предыдущую поговорку. И в следующий раз, пожалуйста, имейте это в виду, чтобы какую-нибудь другую применить можно было :)&lt;br&gt;&lt;br&gt;Ну да ладно.&lt;br&gt;&lt;br&gt;Задача как раз и стоит в том, чтобы связка не терялась ни при malloc, ни при realloc. То есть чтобы оставался линк на указатель даже после изменения области памяти, на которую он указывает.&lt;br&gt;&lt;br&gt;Бедненький....&lt;br&gt;Сходите на какой-нибудь тренинг по общению с людьми...&lt;br&gt;Вместо того, чтобы просто спросить: &quot;Я для чего это вам?&quot;, вы пишете какие-то странные вещи....&lt;br&gt;</description>
</item>

<item>
    <title>Копирование указателя и выделение памяти (ACCA)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html#8</link>
    <pubDate>Wed, 23 Sep 2020 01:37:10 GMT</pubDate>
    <description>Ты опять ничего не понял. Вместо траха с указателем на указатель, тебе нужно было перенести присвоение значения переменной на момент, когда у неё появилось значение.&lt;br&gt;&lt;br&gt;А не писать ерунду вроде&lt;br&gt;&#091;code&#093;&lt;br&gt;char *a, *b;&lt;br&gt;a = b;&lt;br&gt;&#091;/code&#093;&lt;br&gt;когда ты присваиваешь одной неинициализированной переменной значение другой неинициализированной переменной. Про присядку ты в курсе.&lt;br&gt;</description>
</item>

<item>
    <title>Копирование указателя и выделение памяти (datswd)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html#7</link>
    <pubDate>Tue, 22 Sep 2020 16:46:23 GMT</pubDate>
    <description>&amp;gt;&amp;gt; И что именно происходит, если сделать вот такЖ &lt;br&gt;&amp;gt;&amp;gt;     char *a, *b; &lt;br&gt;&amp;gt;&amp;gt;     b = malloc(1); &lt;br&gt;&amp;gt;&amp;gt;     a = b; &lt;br&gt;&amp;gt;&amp;gt;     a = realloc(a, 1000); &lt;br&gt;&amp;gt;&amp;gt;     strcpy(a, &quot;;aaa&quot;); &lt;br&gt;&amp;gt;&amp;gt;     printf(&quot;&#037;s&quot;, b); &lt;br&gt;&amp;gt; Сильно лучше и даже заработает, но нафига тебе realloc?&lt;br&gt;&amp;gt; Ты уж сразу определись, чего ты хочешь. Сэкономишь realloc=malloc+memcpy+memfree. Не? &lt;br&gt;&lt;br&gt;Насчет заработает - далеко не факт.&lt;br&gt;Если будет в текущем расположении блока достаточно места, чтобы просто его расширить, то да, заработает.&lt;br&gt;А если места будет не достаточно, то указатель переедет на другое место и ничего не заработает.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Копирование указателя и выделение памяти (datswd)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html#6</link>
    <pubDate>Mon, 21 Sep 2020 15:46:17 GMT</pubDate>
    <description>Большое спасибо за комментарий.&lt;br&gt;&lt;br&gt;Ваш комментарий - идеальная иллюстрация поговорки: &quot;Слышал звон, да не знает где он&quot;&lt;br&gt;&lt;br&gt;Хммм....&lt;br&gt;&lt;br&gt;А что если вы продолжите в том же духе?&lt;br&gt;Можно попробовать сделать справочник поговорок. Только модератора нужно будет попросить вынести это в отдельную тему :)&lt;br&gt;</description>
</item>

<item>
    <title>Копирование указателя и выделение памяти (ACCA)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/10325.html#5</link>
    <pubDate>Mon, 21 Sep 2020 01:49:22 GMT</pubDate>
    <description>&amp;gt; И что именно происходит, если сделать вот такЖ &lt;br&gt;&amp;gt;     char *a, *b; &lt;br&gt;&amp;gt;     b = malloc(1); &lt;br&gt;&amp;gt;     a = b; &lt;br&gt;&amp;gt;     a = realloc(a, 1000); &lt;br&gt;&amp;gt;     strcpy(a, &quot;;aaa&quot;); &lt;br&gt;&amp;gt;     printf(&quot;&#037;s&quot;, b); &lt;br&gt;&lt;br&gt;Сильно лучше и даже заработает, но нафига тебе realloc?&lt;br&gt;Ты уж сразу определись, чего ты хочешь. Сэкономишь realloc=malloc+memcpy+memfree. Не?&lt;br&gt;</description>
</item>

</channel>
</rss>
