Nomad25 utworzono 12 czerwca 2016 utworzono 12 czerwca 2016 1. Czym się rożni sizeof dla tablicy od sizeof dla wskaźnika?2.Kiedy rzutowanie wskaźnika do innego typu może doprowadzić do utraty danych?3. W jakich sytuacjach możemy uzyskać dostęp do tablicy poza jej granicami i dlaczego jest to trudne do wykrycia?
Matematyk0 komentarz 12 czerwca 2016 komentarz 12 czerwca 2016 Nie wiem czy to będzie w 100% dobrze, ale: 1. Sizeof dla tablicy zwraca wielkość całej tablicy, sizeof dla wskaźnika zwraca wielkość tylko jednej zmiennej danego typu. 2. Np. kiedy typ, na który rzutujemy zajmuje więcej miejsca w pamięci niż typ rzutowany - jeżeli system nie przydzielił odpowiednio dużo miejsca, wynikiem rzutowania będą 'śmieci z ramu', czyli jakieś losowe dla nas dane. 3. Robisz tablicę 9-elementową i w pętli po indeksach odczytujesz 10 elementów - 10 odczyt prawdopodobnie będzie danymi spoza tablicy, ew. zdublowanym 9 elementem. 1
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.