Pytania oznaczone «pointers»

20
W jaki sposób makro lambda tworzy lambda?

Znalazłem ten fragment kodu na GitHub, ale nie do końca go zrozumiałem: #define lambda(ret_type, _body) ({ ret_type _ _body _; }) Następnie: int (*max)(int, int) = lambda(int, (int x, int y) { return x > y ? x : y; }); int max_value = max(1, 2); // max_value is 2 Co robią podkreślenia...

9
Jak sizeof działa z tym dereferencją wskaźnika do tablicy?

Tutaj mam wskaźnik ptrdo tablicy arr4 liczb całkowitych. ptrwskazuje na całą tablicę. ptr[0]lub *ptrwskazuje pierwszy element tablicy, więc dodanie 1 ptr[0]daje adres drugiego elementu tablicy. Nie rozumiem, dlaczego użycie sizeof(ptr[0])daje rozmiar całej tablicy, 16 bajtów, a nie rozmiar tylko...