NSWI170, 2025, Labs 06
Jáchym Bártík
nullptr
- neukazuje nikam (používejte místo NULL
)&
)new
, funkce malloc
, ...int* p1; // Pointer na náhodné místo v paměti.
int x = 42;
int* p2 = &x; // Pointer na místo, kde je uložena hodnota 42.
int y = *p2 + 35; // Dereference pointeru - přístup k hodnotě, na kterou ukazuje.
cout << y; // 77
int* p3 = p2 + 1; // Pointer na následující integer za p2.
int* p4 = malloc(7 * sizeof(int)); // Pointer na první prvek v poli sedmi integerů.
int x = 42;
int* p = &x;
*(p + 1) = 13;
*(p - 1) | *p | *(p + 1) | *(p + 2) | *(p + 3) |
? | 42 | 13 | ? | ? |
*(p + i) = p[i]
(pro integer i
)
[]
Exception
)nullptr
)!const char*
'\0'
(null)const char* string = "Hello world";
H | e | l | l | o |
W | o | r | l | d | \0 |
int foo(const char* s) {
int i = 0;
while (s[i])
i++;
return i;
}
foo(string); // What is the output of this function?
const char*
)A
- zapisuje na displej pomocí multiplexinguB
- řeší rotování zprávy (říká A
co má vypsat)loop
- komunikuje pouze s B
Hello
:___H | Hell | lo__ |
__He | ello | o___ |
_Hel | llo_ | ____ |
const char*
), ne pokročilé C++ konstrukce