Так что мне нужно, чтобы создать вызов strange_step, что приводит к ней распечатав, если заявление:Арифметика указатель с недействительными *
void strange_step(void* value)
{
if(*(int*)(value+5) == 15)
printf("4: Illinois\n");
else
printf("4: ERROR\n");
}
Я попробовал следующее (так как, насколько мне известно, с НКУ, то лечит пустоту * как символ * так приращение 1 байт):
int arr[10];
arr[4] = 15;
arr[5] = 15;
arr[3] = 15;
arr[2] = 15;
arr[6] = 15;
arr[7] = 15;
arr[8] = 15;
arr[9] = 15;
//arr[10] = 15;
strange_step(arr);
но это только кажется, распечатайте случайные числа. Что мне не хватает?
размер 'int' обычно 4 –
Я думаю, что вы хотите' если (* ((INT *) значение + 5) == 15) ' – chux
Я чувствую XY-проблему. Я * серьезно * сомневаюсь, что вам нужно (или даже даже хотеть) «странно», как вы показали. Чего вы действительно пытаетесь достичь? –