Программа падает при попытке записи элементов структуры - C (СИ)
Формулировка задачи:
Есть такая структура
Она описывается как массив в main.При попытке записать туда что-либо выскакиывает ошибка - закрывается консоль.
Причем при создании обычного массива char W[1000] и вызове Все работает.
Что не так в структуре?
struct Follower { //структура
char Words[1000];
float Count;
char kod[5];
};int main(){
long int i=0,size=0,probs[1500],t=0,h=0,d=0;
char Words[10],prev,nul;
Tree massive [1500] ;
FILE *file;
file=fopen("1232.txt","r+");
Words[0]='\0';
fscanf(file,"%s",Words);
printf("%s \n ",Words);
strcpy(massive[0]->Words,"1");// Здесь ошибка. strcat также не работает.strcpy(W,"1");
Решение задачи: «Программа падает при попытке записи элементов структуры»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// объявление структуры создает новый тип данных
typedef struct {
char Words[ 1000 ];
float Count;
char kod[ 5 ];
} Follower;
int main( void ) {
Follower arrayFollower[ 1500 ]; // объявляем массив структур НОВОГО типа данных
strcpy( arrayFollower[ 0 ].Words, "12345" ); // Здесь теперь все работает
printf( "%s", arrayFollower[ 0 ].Words );
return EXIT_SUCCESS;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdio.h, stdlib.h, string.h
- Объявление структуры Follower с полями Words, Count, kod
- Объявление массива структур Follower с именем arrayFollower и размером 1500
- Копирование строки
12345в первое поле массива arrayFollower (Words) - Вывод содержимого первого поля массива arrayFollower (Words)
- Возврат успешного завершения программы (EXIT_SUCCESS)