Czy w ten sposób można używać pamięci "extra" przydzielonej podczas używania haka C struct?C struct hack at work
Pytania:
Mam implementację C Hack Struktur poniżej. Moje pytanie brzmi: jak mogę użyć "dodatkowej" pamięci, którą przydzieliłem z hackerem. Czy ktoś może podać mi przykład użycia dodatkowej pamięci?
#include<stdio.h>
#include<stdlib.h>
int main()
{
struct mystruct {
int len;
char chararray[1];
};
struct mystruct *ptr = malloc(sizeof(struct mystruct) + 10 - 1);
ptr->len=10;
ptr->chararray[0] = 'a';
ptr->chararray[1] = 'b';
ptr->chararray[2] = 'c';
ptr->chararray[3] = 'd';
ptr->chararray[4] = 'e';
ptr->chararray[5] = 'f';
ptr->chararray[6] = 'g';
ptr->chararray[7] = 'h';
ptr->chararray[8] = 'i';
ptr->chararray[9] = 'j';
}
Czy możesz podać nam trochę więcej kontekstu? Co to jest c struct hack? Jakie jest twoje prawdziwe pytanie? –
@RobertHarvey Uważam, że rozszerzenie tablicy na 9 elementów z 1 elementu. –
@RobertHarvey Niezależnie od tego, co powiedział Lews. Rozszerzanie tablicy do 10 z 1. – abc