Pytania otagowane jako pointers

Typ danych, który „wskazuje” na inną wartość przechowywaną w pamięci. Zmienna wskaźnikowa zawiera adres pamięci jakiegoś innego bytu (zmiennej, funkcji lub innego bytu). Tego znacznika należy używać w przypadku pytań związanych ze stosowaniem wskaźników, a nie odniesień. Najpopularniejsze języki programowania używające wskaźników to C, C ++, Go i języki asemblera. Użyj określonego tagu językowego. Inne przydatne tagi to metoda, funkcja, struktura itp. Opisujące użycie wskaźnika.

4
Co robi ((void (*) ()) buf) (); oznaczać?
Rozwiązuję binarne wyzwanie dotyczące eksploatacji na picoCTF i natrafiłem na następujący fragment kodu: ((void (*)())buf)(); gdzie bufjest tablica znaków. Rozwiązałem wyzwanie, ale nie rozumiem, co dokładnie robi. Spojrzałem na ten wątek, ale nie mogłem go zrozumieć. Co ((void (*)())buf)();znaczy

6
Dlaczego to twierdzenie, że ostrzeżenie o typie dereferencji jest specyficzne dla kompilatora?
Czytałem różne posty na temat Przepełnienia stosu RE: dereferujący błąd wskaźnika pisanego czcionką typu. Rozumiem, że błąd jest zasadniczo ostrzeżeniem kompilatora o niebezpieczeństwie dostępu do obiektu za pomocą wskaźnika innego typu (choć wydaje się, że istnieje wyjątek char*), co jest zrozumiałym i rozsądnym ostrzeżeniem. Moje pytanie jest specyficzne dla poniższego …
38 c  pointers  casting 


7
Jak działa porównywanie wskaźników w C? Czy można porównywać wskaźniki, które nie wskazują tej samej tablicy?
W K&R (The C Programming Language 2nd Edition) rozdział 5 czytam: Po pierwsze, wskaźniki mogą być porównywane w pewnych okolicznościach. Jeśli pi qpunkt do członków tej samej tablicy, stosunki wówczas jak ==, !=, <, >=, itd pracę prawidłowo. Co wydaje się sugerować, że można porównywać tylko wskaźniki wskazujące na tę …






4
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 pierwszego elementu, 4 bajty (jak ptr[0]wskazuje na pierwszy element w tablicy). …
9 c  arrays  pointers 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.