Wpis z mikrobloga

@WladcaSlimakow: De heck?
Program Ci się nie przewraca?
W tym int t[5],p[15],i,a,b,c; deklarujesz tablice pięcioelementową tablice t i piętnastoelementową tablice p, a linijkę niżej wykraczasz poza rozmiar p i to samo robisz dla t
  • Odpowiedz
@abuson: @luigi_pl:
Jak wyjdziesz poza t albo p to dalej piszesz po swojej pamięci (dalej są zmienne i, a, b, c) wiec nie powinno się wywalić.
W debug kompilator rezerwuje więcej pamięci na tablice aby móc wykrywać takie wychodzenie poza tablice. Jak odpalisz w debug z debuggerem to powinien wywalić error.
  • Odpowiedz
@Rofox: @thexDguy: @Rofox: Chyba rzuca wyjątkiem tylko podczas debugowania. Odpalilem to w debug/release zarowno po kompilacji VS 2019 i clangiem i przechodzi. Wyglada na to ze pamieci na stosie jest wiecej alokowane i dlatego wyjscie poza zakres nie wywala programu.
Podejrzewam ze po zmianie alokacji tablic na wskaźniki odrazu poszedł by wyjątek -
  • Odpowiedz