Вам не хватает #include <stdlib.h>
(для malloc
), и строки формата неверны. Используйте %p
для печати указателей.
Кроме того, вам не нужно ( и, вероятно, не следует ) приводить возвращаемое значение malloc
(в C).
И правильная подпись для main
без параметров:
int main(void)
Исправленный код:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *b;
b = (int*)malloc(10*sizeof(int));
printf("b=%p\n\n", (void*) b);
printf("b+1=%p\n\n",(void*) (b+1));
printf("b+2=%p\n\n",(void*) (b+2));
b[2]=4;
printf("*(b+2)=%d\n\n",*(b+2));
return 0;
}