Ошибка при работе с указателями - C (СИ)
Формулировка задачи:
Дан вот такой кусок кода:
Прерывает выполнение программы при попытке присвоить *pos указатель на строку str. С чем это связано?
Листинг программы
- #include <stdio.h>
- int main()
- {
- char mas[256];
- scanf("%s",mas);
- char **pos;
- *pos=mas;
- printf("Asasas: %p\n",*pos);
- return 0;
- }
Решение задачи: «Ошибка при работе с указателями»
textual
Листинг программы
- char *ptr;
- *ptr = a + b;//ошибка (нельзя обратиться к значению не инициализированного указателя)
- c = *ptr + d;//таже ошибка
Объяснение кода листинга программы
- Объявляется указатель на символ
ptr
. - Присваивается значение указателю
ptr
(адрес переменнойa
). - Ошибка: обращение к значению не инициализированного указателя (переменная
b
). - Ошибка: обращение к значению не инициализированного указателя (переменная
d
).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д