Initialization from incompatible pointer type - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Выдается странное предупреждение во время компиляции кода:
#include <stdio.h>
#include <stdlib.h>
 
int main() {
 
    int a[] = {10, 20, 30, 40, 50}, z, *p = &a;
 
    z = *p;      printf("z = *p;     |    z = %d; p[0] = %d; p[1] = %d; p[2] = %d; p[3] = %d; p[4] = %d;\n", z, p[0], p[1], p[2], p[3], p[4]);
    z = *p+1;    printf("z = *p+1;   |    z = %d; p[0] = %d; p[1] = %d; p[2] = %d; p[3] = %d; p[4] = %d;\n", z, p[0], p[1], p[2], p[3], p[4]);
    z = *(p+1);  printf("z = *(p+1); |    z = %d; p[0] = %d; p[1] = %d; p[2] = %d; p[3] = %d; p[4] = %d;\n", z, p[0], p[1], p[2], p[3], p[4]);
    z = ++*p;    printf("z = ++*p;   |    z = %d; p[0] = %d; p[1] = %d; p[2] = %d; p[3] = %d; p[4] = %d;\n", z, p[0], p[1], p[2], p[3], p[4]);
    z = *++p;    printf("z = *++p;   |    z = %d; p[0] = %d; p[1] = %d; p[2] = %d; p[3] = %d; p[4] = %d;\n", z, p[0], p[1], p[2], p[3], p[4]);
    z = *p++;    printf("z = *p++;   |    z = %d; p[0] = %d; p[1] = %d; p[2] = %d; p[3] = %d; p[4] = %d;\n", z, p[0], p[1], p[2], p[3], p[4]);
    z = (*p)++;  printf("z = (*p)++; |    z = %d; p[0] = %d; p[1] = %d; p[2] = %d; p[3] = %d; p[4] = %d;\n", z, p[0], p[1], p[2], p[3], p[4]);

    getchar();
    return 0;
}
а вот предупреждение:
first.c: In function ‘main’:
first.c:7:11: warning: initialization from incompatible pointer type [enabled by default]
int *p = &a;

Решение задачи: «Initialization from incompatible pointer type»

textual
Листинг программы
int *p=a

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5