Я пытаюсь понять основы структуры в C Пожалуйста, обратите внимание Вот мой код: я запускаю код блоков на ОС Windows 7ссылка Структура по символьной строки
#include<stdio.h>
struct xx
{
int a;
char x[10];
};
int main()
{
struct xx *p;
p->a=77;
p->x[10] = "hello";
printf("\n %d",p->a);
printf("\n %s ",p->x);
return 0;
}
В строке, где я пытаюсь сделать print p-> x Программа вылетает ! Вторая проблема: Верно ли, что когда я не инициализирую целые целые структуры, они по умолчанию равны нулю И строки, не инициализированные (char star), по умолчанию имеют значение null, если внутренняя структура Третий вопрос: Я попытался изменить строку на
p->x= "hello";
Я получаю ошибку даже тогда !! Я даже пытался изменить
char tem[] = "hello";
p->x[]= tem[];
Тем не менее я получаю ошибку
p->x= tem[];
Эта линия также дает ошибку даже это
char *tmp = "hello";
p->x= tem[];
даже это
char *tmp = "hello";
p->x[]= tem[];
даже эта линия ошибка
char *tmp = "hello";
p->x[10]= tem[];
Вы можете закрыть этот вопрос, но поясните мне! Как инициализировать массив символов в структуре
ya true: но почему междоменный доступ не является ошибкой! –
Что означает «промежуточный доступ»? –
Я имею в виду, что целое число внутри структуры не дает ошибки –