Я пытаюсь вызвать функцию, вызвав ее напрямую. Итак, я использую указатели на функции и переполнение буфера. Я получаю то, что хочу, однако, когда я отлаживаю программу, я получаю ошибку сегментации.
Есть ли способ получить точный результат без ошибки сегментации?
#include <stdio.h>
void hello()
{
printf("hello()!\n");
}
void first()
{
void (*array[1])();
array[8] = &hello;
printf("you are first()!\n");
}
int main (int argc, char *argv[])
{
first();
return 0;
}
Вывод, который я получаю;
ты первый ()!
привет (!)
Примечание: я использую Code: Blocks в качестве платформы и GDB / CDB в качестве отладчика