C: поведение массивов при назначении указателей
#include
main()
{
char * ptr;
ptr = "hello";
printf("%p %s" ,"hello",ptr );
getchar();
}
Привет, я пытаюсь ясно понять, как массивы могут быть назначены указателям. Я замечаю, когда вы назначаете массив символов указателю символовptr="hello";
массив распадается на указатель, но в этом случае я назначаю символ массива, который не находится внутри переменной и не содержит переменной, содержащей их ", этот способ назначения занимает адрес памяти специально для"Hello"
(что, очевидно, происходит), и можно ли изменить значение каждого элемента вПривет" которые содержатся в адресе памяти, где хранится этот массив. Для сравнения, это нормально для меня, чтобы назначить указатель с массивом, например,Интс что-то такое неопределенное, как этоint_ptr = 5,3,4,3;
и значения 5,3,4,3 расположены в адресе памяти какПривет" сделал. А если нет, то почему это возможно только со строками? Заранее спасибо.