prog_c
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| prog_c [2016/01/08 22:13] – [vypsani pameti po bytech v hexa] djbuldog | prog_c [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 73: | Řádek 73: | ||
| bar is a const or fixed pointer to a value that can be changed. This is like a reference without the extra syntactic sugar. Because of this fact, usually you would use a reference where you would use a T* const pointer unless you need to allow null pointers. | bar is a const or fixed pointer to a value that can be changed. This is like a reference without the extra syntactic sugar. Because of this fact, usually you would use a reference where you would use a T* const pointer unless you need to allow null pointers. | ||
| + | |||
| + | === Operace === | ||
| + | |||
| + | * jsou závislé na typu | ||
| + | * přičítání | ||
| + | |||
| + | <code c> | ||
| + | void *p=0; | ||
| + | uint32_t *u=0; | ||
| + | |||
| + | printf(" | ||
| + | printf(" | ||
| + | |||
| + | printf(" | ||
| + | printf(" | ||
| + | </ | ||
| + | |||
| + | * rozdíl | ||
| + | |||
| + | <code c> | ||
| + | void *p=0, *p2=4; | ||
| + | uint32_t *u=0, *u2=4; | ||
| + | |||
| + | printf(" | ||
| + | printf(" | ||
| + | </ | ||
| + | |||
| + | ==== Pole znaků ==== | ||
| + | |||
| + | * definice 2d pole znaků | ||
| + | |||
| + | <code c> | ||
| + | char tmp[3][3] = {{ ' | ||
| + | </ | ||
| + | |||
| + | * definice s využitím string literálu (null term se přidává automaticky) | ||
| + | |||
| + | <code c> | ||
| + | char tmp[3][3] = { " | ||
| + | </ | ||
| + | |||
| + | * počet prvků v poli lze vynechat | ||
| + | |||
| + | <code c> | ||
| + | char tmp[][3] = { " | ||
| + | tmp[0][0] = ' | ||
| + | </ | ||
| + | |||
| + | * ale... tohle už není platný zápis | ||
| + | |||
| + | <code c> | ||
| + | char tmp[][] = { " | ||
| + | </ | ||
| + | |||
| + | * pole musí byt dostatečně velké (pro nejdelší prvek) | ||
| + | | ||
| + | <code c> | ||
| + | char tmp[][5] = { " | ||
| + | </ | ||
| + | |||
| + | * 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] = " | ||
| + | tmp[1] = " | ||
| + | </ | ||
| + | |||
| + | <code c> | ||
| + | char *tmp[]={ | ||
| + | " | ||
| + | " | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | * definice pole znaků - hodnoty lze měnit | ||
| + | |||
| + | <code c> | ||
| + | char tmp[] = " | ||
| + | tmp[0] = ' | ||
| + | </ | ||
| + | |||
| + | * 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 = " | ||
| + | tmp2[1] = ' | ||
| + | </ | ||
| + | |||
| + | * více info [[http:// | ||
prog_c.1452287606.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
