• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tablice znaków w C

Aruba Cloud - Virtual Private Server VPS
0 głosów
244 wizyt
pytanie zadane 17 grudnia 2017 w C i C++ przez Kamillo112 Nowicjusz (120 p.)
edycja 17 grudnia 2017 przez criss

Próbuję stworzyć tablicę znaków długości n, z możliwością późniejszej modyfikacji pojedynczych elementów.
 

char *tab = malloc( n * sizeof(char) );
// tutaj przykładowo wypełnienie tablicy "1111111111"
tab[0] = '0';



W ten sposób nie działa, dostaje segmentation fault(core dumped)

komentarz 17 grudnia 2017 przez criss Mędrzec (172,590 p.)
Coś musisz robić ze wskaźnikiem pomiędzy alokacją a przypisaniem, bo pokazany przez ciebie kod jest w pełni ok.
komentarz 21 grudnia 2017 przez draghan VIP (106,230 p.)

Chyba że n ma wartość 0. :)

komentarz 21 grudnia 2017 przez criss Mędrzec (172,590 p.)
Też o tym pomyślałem, ale nie byłem taki pewien :D Wydaje mi się, że Windows w takim wypadku alokuje i tak kilka bajtów. Pytanie tylko czy malloc zwraca wtedy ten adres.. Bez sensu rozdmuchuję temat, wiem :D
komentarz 21 grudnia 2017 przez draghan VIP (106,230 p.)

Tu nawet nie chodzi o OS, bardziej o implementację biblioteki standardowej. W standardzie nie jest zdefiniowane zachowanie, na cplusplus.com napisano tyle, że dereferencja takiego adresu jest nielegalna, na cppreference.com - że przy n = 0 i tak fajnie jest wrzucić otrzymany adres do free().

A pogadać na temat zawsze można. ;)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 274 wizyt
pytanie zadane 13 lutego 2017 w C i C++ przez Astenna Początkujący (340 p.)
0 głosów
1 odpowiedź 806 wizyt
pytanie zadane 30 czerwca 2016 w C i C++ przez 1naswiecie Początkujący (410 p.)
0 głosów
3 odpowiedzi 418 wizyt
pytanie zadane 18 stycznia 2017 w C i C++ przez Akiro Bywalec (2,910 p.)

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,653 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...