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.


6
Dlaczego adres tablicy jest równy jej wartości w C?
W poniższym fragmencie kodu wartości wskaźników i adresy wskaźników różnią się zgodnie z oczekiwaniami. Ale wartości tablicowe i adresy nie! Jak to może być? Wynik my_array = 0022FF00 &my_array = 0022FF00 pointer_to_array = 0022FF00 &pointer_to_array = 0022FEFC #include <stdio.h> int main() { char my_array[100] = "some cool string"; printf("my_array = …
193 c  pointers  arrays 

13
C nie jest takie trudne: void (* (* f []) ()) ()
Właśnie widziałem dziś zdjęcie i myślę, że doceniłbym wyjaśnienia. Oto zdjęcie: Uznałem to za mylące i zastanawiałem się, czy takie kody są kiedykolwiek praktyczne. Przejrzałem zdjęcie i znalazłem inne zdjęcie w tym wpisie reddit, a oto to zdjęcie: Czy to „duchowe czytanie” jest czymś ważnym? Czy tak analizują kompilatory C? …


2
Dlaczego „to” jest wskaźnikiem, a nie odniesieniem?
Czytałem odpowiedzi na to pytanie za i przeciw C ++ i miałem wątpliwości podczas czytania komentarzy. programiści często uważają za mylące, że „to” jest wskaźnikiem, ale nie odniesieniem. Kolejnym nieporozumieniem jest to, dlaczego „hello” nie jest typu std :: string, ale przekształca się w char const * (wskaźnik) (po konwersji …


8
Arytmetyka wskaźnika dla void pointer w C
Kiedy wskaźnik do określonego typu (powiedzmy int, char, float, ..) jest zwiększany, jego wartość jest zwiększana o wielkości tego typu danych. Jeśli voidwskaźnik, który wskazuje na dane o rozmiarze, xjest zwiększany, w jaki sposób ma wskazywać xbajty do przodu? Skąd kompilator wie, aby dodać xdo wartości wskaźnika?

29
Co jest trudne w przypadku wskaźników C? [Zamknięte]
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …
173 c  pointers 


6
W C, dlaczego niektórzy ludzie rzucają wskaźnik przed jego zwolnieniem?
Pracuję na starym kodzie i prawie każde wywołanie free () używa rzutowania na swoim argumencie. Na przykład, free((float *)velocity); free((float *)acceleration); free((char *)label); gdzie każdy wskaźnik jest odpowiedniego (i pasującego) typu. Nie widzę w tym sensu. To bardzo stary kod, więc zastanawiam się, czy to kwestia K&R. Jeśli tak, to …
167 c  pointers  casting 

10
Czy powinienem przechowywać całe obiekty, czy też wskaźniki do obiektów w kontenerach?
Projektowanie nowego systemu od podstaw. Będę używać STL do przechowywania list i map pewnych długotrwałych obiektów. Pytanie: Czy powinienem upewnić się, że moje obiekty mają konstruktory kopiujące i przechowują kopie obiektów w moich kontenerach STL, czy też ogólnie lepiej jest samodzielnie zarządzać życiem i zakresem i po prostu przechowywać wskaźniki …
162 c++  stl  pointers 


8
Zwracanie tablicy przy użyciu języka C
Jestem stosunkowo nowy w C i potrzebuję pomocy w metodach radzenia sobie z tablicami. Pochodząc z programowania w Javie, jestem przyzwyczajony do mówienia int [] method()w celu zwrócenia tablicy. Jednak odkryłem, że w C musisz używać wskaźników do tablic, kiedy je zwracasz. Będąc nowym programistą, naprawdę w ogóle tego nie …
153 c  arrays  pointers  char 


12
Dlaczego x [0]! = X [0] [0]! = X [0] [0] [0]?
Uczę się trochę C ++ i walczę ze wskazówkami. Rozumiem, że mogę mieć 3 poziomy wskaźników, deklarując: int *(*x)[5]; więc *xjest to wskaźnik do tablicy 5 elementów, które są wskaźnikami int. Również wiem, że x[0] = *(x+0);, x[1] = *(x+1)i tak dalej .... A więc, biorąc pod uwagę powyższe oświadczenie, …
149 c++  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.