Uživatelské nástroje

Nástroje pro tento web


prog_c

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
prog_c [2016/09/08 11:10] – [Ukazatele] djbuldogprog_c [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 100: Řádek 100:
 </code> </code>
  
 +==== Pole znaků ====
 +
 +  * definice 2d pole znaků
 +
 +<code c>
 +  char tmp[3][3] = {{ 'a', 'b', '\0' }, { 'A', 'B', '\0' }};
 +</code>
 +
 +  * definice s využitím string literálu (null term se přidává automaticky)
 +
 +<code c>
 +  char tmp[3][3] = { "ab", "AB" };
 +</code>
 +
 +  * počet prvků v poli lze vynechat
 +
 +<code c>
 +  char tmp[][3] = { "ab", "AB" };
 +  tmp[0][0] = '\0'
 +</code>
 +
 +  * ale... tohle už není platný zápis
 +
 +<code c>
 +  char tmp[][] = { "ab", "AB" };
 +</code>
 +
 +  * pole musí byt dostatečně velké (pro nejdelší prvek)
 +  
 +<code c>
 +  char tmp[][5] = { "ab", "ABCD" };
 +</code>
 +
 +  * inicializace 1d pole ukazatelů na pole znaků, které má ukazatele inicializováno na konstantní string literály
 +  * pokud o zápis do pole znaků způsobí sagmentation fault, jelikož paměť je readonly
 +
 +<code c>
 +  char *tmp[2];
 +  tmp[0] = "219.bari2.eu:8080";
 +  tmp[1] = "ffff:123:ff:111:";
 +</code>
 +
 +<code c>
 +  char *tmp[]={
 +    "219.bari2.eu:8080",
 +    "ffff:123:ff:111:"
 +  };
 +</code>
 +
 +  * definice pole znaků - hodnoty lze měnit
 +
 +<code c>
 +  char tmp[] = "abc";;
 +  tmp[0] = 'a';
 +</code>
 +
 +  * definice ukazatele na literál - hodnoty nelze měnit (způsobí segmentation fault), protože jsou uložený v .txt části programu
 +
 +<code c>
 +  char *tmp2 = "abc";
 +  tmp2[1] = 'a';
 +</code>
 +
 +  * více info [[http://www.cplusplus.com/doc/tutorial/ntcs|zde]]
prog_c.1473325845.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki