<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=23195&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-06-13T06:31:03+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=23195&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-06-13T06:31:03+01:00</updated>
<published>2020-06-13T06:31:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227878#p227878</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227878#p227878"/>
<title type="html"><![CDATA[Re: Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227878#p227878"><![CDATA[
bo nie ma żadnej różnicy jak traktujesz wskaźnik. Raz może on być wskaźnikiem a raz tablicą <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> że tak powiem <br /><br />[syntax=c]char tablica&#91;10&#93;;<br /><br />char * wsk = tablica;[/syntax]<br /><br />można z niego korzystać i tak:<br /><br />[syntax=c]wsk&#91;4&#93; = 5;[/syntax]<br /><br />ale też i tak<br /><br />[syntax=c]*(wsk+4) = 5;[/syntax]<br /><br />wszystko zależy jak wygodniej w kodzie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 13 cze 2020, o 06:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nef.ID]]></name></author>
<updated>2020-06-12T21:05:08+01:00</updated>
<published>2020-06-12T21:05:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227871#p227871</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227871#p227871"/>
<title type="html"><![CDATA[Re: Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227871#p227871"><![CDATA[
Wiecie co, zmylił mnie właściwie zapis &quot;tablicowy&quot; wskaźników i przez to zapomniałem o tej gwiazdce.<br /><br />Co w sumie jest istotne, bo raz mamy wskaźnik, a raz wartość pokazywaną wskaźnikiem.<br /><br />Pozdrowienia.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 42 minutach ]</span></strong><br /><br />A kompilator się nie obrażał.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8366">Nef.ID</a> — 12 cze 2020, o 21:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[abel11]]></name></author>
<updated>2020-06-12T14:44:00+01:00</updated>
<published>2020-06-12T14:44:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227859#p227859</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227859#p227859"/>
<title type="html"><![CDATA[Re: Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227859#p227859"><![CDATA[
[syntax=c]wsk&#91;1&#93;.tel&#91;0&#93;;[/syntax]<br />W taki sposób mam nadzieje będzie to nieco czytelniejsze.<br />Jeśli za wsk dasz nawiasy klamrowe to poinformujesz kompilator, że adres pierwszego elementu tablicy (w zmiennej wsk) chcesz powiększyć o jakiś offset, dlatego nie dajesz tu strzałki.<br /><br />Bardzo pomocne do nauki takich zagadnień jak wskaźniki, callbacki, struktury i tablice może być zainstalowanie np. MPLABX IDE, albo jakiegokolwiek innego symulatora który pozwoli na obserwacje zmiennych i komórek pamięci. Tworzysz projekt, wybierasz prace na symulatorze, bierzesz BB w garść od strony 145 masz tablice dalej wskaźniki i możesz zobaczyć jak się zmieniają zmienne w zależności co jak pozmieniasz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17861">abel11</a> — 12 cze 2020, o 14:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fofex]]></name></author>
<updated>2020-06-12T08:08:07+01:00</updated>
<published>2020-06-12T08:08:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227842#p227842</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227842#p227842"/>
<title type="html"><![CDATA[Re: Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227842#p227842"><![CDATA[
<div class="quotetitle">Nef.ID napisał(a):</div><div class="quotecontent"><br />Pytanie, dlaczego tylko warunek if z strlen działa, pozostałe nie?<br /></div><br />Ponieważ do porównania bierzesz wskaźnik na zmienną zamiast wartości zmiennej.<br /><br />[syntax=c]if (strlen(wsk&#91;0&#93;.tel)==0){ //strlen oczekuje wskaźnika więc jest dobrze<br />if (*wsk&#91;0&#93;.tel == 0){  //teraz jest dobrze<br />if (*wsk&#91;0&#93;.tel == NULL) { //też dobrze gdy stała NULL jest zdefinowana[/syntax]<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />A jak sprawdzić czy czwarty element tablicy lista np. lista[3] ma tel[0] zero ?<br /></div><br /><br />[syntax=c]if (*wsk&#91;3&#93;.tel==0){  //tak<br />if (!*wsk&#91;3&#93;.tel){  //albo tak<br />if( !*(*(wsk+3)).tel) { //tak też choć dwoi się od nawiasów<br />if( !*(wsk+3)-&gt;tel) { //lepiej tak[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21072">fofex</a> — 12 cze 2020, o 08:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nef.ID]]></name></author>
<updated>2020-06-11T23:43:39+01:00</updated>
<published>2020-06-11T23:43:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227824#p227824</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227824#p227824"/>
<title type="html"><![CDATA[Re: Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227824#p227824"><![CDATA[
Tylko teraz myślę, że nie o to mi chodziło.<br />Co to jest np. wsk-&gt;tel[0] czy (*wsk).tel[0] ?<br />Czy to nie pokazuje na pierwszy element tablicy lista ( lista[0] ) i pierwszy znak w tablicy tel ( tel[0] )?<br /><br />Przypomnę, wsk pokazuje u mnie na lista[10].<br /><br />Ja chciałem sprawdzać po kolei, czy lista[0].tel ==0, lista[1].tel ==0 itd.<br /><br />A jak sprawdzić czy czwarty element tablicy lista np. lista[3] ma tel[0] zero ?<br />Chyba jednak nie tym warunkiem:<br />[syntax=c]if (( *wsk).tel&#91;3&#93;==0){[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br />W podanym przeze mnie z początku przykładzie było wsk[0], ale w domyśle chodziło o wsk[1], wsk[2] itd.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8366">Nef.ID</a> — 11 cze 2020, o 23:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2020-06-11T22:47:00+01:00</updated>
<published>2020-06-11T22:47:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227821#p227821</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227821#p227821"/>
<title type="html"><![CDATA[Re: Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227821#p227821"><![CDATA[
<div class="quotetitle">Nef.ID napisał(a):</div><div class="quotecontent"><br />Nie pomyślałem, aby nawiasy kwadratowe<br /></div><br />Zapomniałeś przede wszystkim o strzałce &quot;-&gt;&quot; aby odwoływać się do pól struktury przez wskaźnik<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 11 cze 2020, o 22:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[abel11]]></name></author>
<updated>2020-06-11T22:45:17+01:00</updated>
<published>2020-06-11T22:45:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227820#p227820</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227820#p227820"/>
<title type="html"><![CDATA[Re: Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227820#p227820"><![CDATA[
Przepraszam moje gapiostwo w 2 przykładzie zapomniałem o gwiazdce miało być<br />[syntax=c]if ( *wsk-&gt;tel == 0)[/syntax]<br /><br />Po prostu najpierw trzeba z wskaźnika na strukturę wybrać tablicę i dopiero wtedy wybierać element tablicy, pewnie z rozpędu zapomniałeś że to struktura i poleciałeś jak z tablicami.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17861">abel11</a> — 11 cze 2020, o 22:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nef.ID]]></name></author>
<updated>2020-06-11T22:33:34+01:00</updated>
<published>2020-06-11T22:33:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227818#p227818</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227818#p227818"/>
<title type="html"><![CDATA[Re: Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227818#p227818"><![CDATA[
Abel11 brawo, brawisimo.<br /><br />Sposób 1 i 3 OK.<br />Sposób 2 nie działa.<br /><br />Nie pomyślałem, aby nawiasy kwadratowe, bo mamy do czynienia z tablicą, dać na końcu, a nie po wskaźniku na tablicę.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8366">Nef.ID</a> — 11 cze 2020, o 22:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[abel11]]></name></author>
<updated>2020-06-11T22:11:27+01:00</updated>
<published>2020-06-11T22:11:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227817#p227817</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227817#p227817"/>
<title type="html"><![CDATA[Re: Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227817#p227817"><![CDATA[
Taki kod też zadziała, myślę że to jednocześnie tłumaczy o co chodzi (chyba że jest już na tyle późno że mi się coś pokićkało) <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />[syntax=c]if ( wsk-&gt;tel&#91;0&#93; == 0)<br />if ( wsk-&gt;tel == 0)<br />if ((*wsk).tel&#91;0&#93; == 0)[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=17861">abel11</a> — 11 cze 2020, o 22:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Nef.ID]]></name></author>
<updated>2020-06-11T21:47:05+01:00</updated>
<published>2020-06-11T21:47:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227815#p227815</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227815#p227815"/>
<title type="html"><![CDATA[Pytanie z języka C]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=23195&amp;p=227815#p227815"><![CDATA[
Witam, <br />tak żeby rozruszać towarzystwo, mam pytanie na które nie umiem odpowiedzieć:<br /><br />[syntax=c]#define LISTA_MAX 20<br /><br />typedef struct {<br />   char tel&#91;10&#93;;<br />   char text&#91;10&#93;;<br />} TLISTA;[/syntax]<br /><br />następnie:<br /><br />[syntax=c]TLISTA lista&#91;LISTA_MAX &#93;;[/syntax]<br />oraz:<br /><br />[syntax=c]TLISTA *wsk = lista;<br /><br />for( i = 0; i &lt; LISTA_MAX; i++ ) { <br />memset( wsk&#91;i&#93;.text, 0, 10 );<br />memset( (wsk+i)-&gt;tel, 0, 10 );<br />}<br />//if (strlen(wsk&#91;0&#93;.tel)==0){<br />//if ( wsk&#91;0&#93;.tel==0){<br />if (wsk&#91;0&#93;.tel ==NULL){<br />lcd_cls();<br />lcd_locate(0,0);<br />lcd_str(&quot;ok&quot;);<br />}<br />while(1);[/syntax]<br />Pytanie, dlaczego tylko warunek if z strlen działa, pozostałe nie?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8366">Nef.ID</a> — 11 cze 2020, o 21:47</p><hr />
]]></content>
</entry>
</feed>