Siemka, mam taki dziwny problem, którego nie rozumiem.
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main() {
char *s;
s = (char*)malloc(1024 * sizeof(char));
printf("%d",sizeof(s));
scanf("%[^\n]", s);
printf("%d", sizeof(s));
s = realloc(s, strlen(s) + 1);
printf("%d", sizeof(s));
return 0;
}
Powyższy fragment kodu ma tworzyć tablicę dynamiczną, tylko ten fragment mi nie działa. Zostawiłem printfy, którymi próbowałem debbugować kod. Nie jestem w stanie zrozumieć, dlaczego niezależnie od tego, co zrobię rozmiar tworzonej tablicy to 4 (linux gcc) / 8 (DevC), a nie 4096. Niezależnie od tego, co wrzucę do malloca, zawsze rozmiarem tablicy jest 4. Bardzo się ucieszę, jeśli ktoś poświęci mi 5 minut i wytłumaczy mi mój banalny błąd (bo nie wierzę, żeby był skomplikowany) :) trochę siedzę już nad tym, pewnie nie umiem szukać, więc piszę na forum.
Pozdrawiam dX