Initialization from incompatible pointer type - C (СИ)

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

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

Выдается странное предупреждение во время компиляции кода:
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main() {
  4. int a[] = {10, 20, 30, 40, 50}, z, *p = &a;
  5. 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]);
  6. 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]);
  7. 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]);
  8. 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]);
  9. 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]);
  10. 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]);
  11. 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]);
  12.  
  13. getchar();
  14. return 0;
  15. }
а вот предупреждение:
Листинг программы
  1. first.c: In function main’:
  2. first.c:7:11: warning: initialization from incompatible pointer type [enabled by default]
  3. int *p = &a;

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут