Ошибка: assignment to expression with array type. Что делать?

Пишу программу которая будет введённый строку слов разбирать по словам и выстраивать в порядке алфавитных букв.

Но увы, выпрыгивает ошибка assignment to expression with array type massiw[j] = massiw[j+1];

Я как понял это из за не совсем верного понимания работы массивов :

Вот код :slight_smile:

    /* считываем строку и расставляем слова
       в общем считываю строку и растравляю слова
       1. считать строку
       2. разбить на слова
       3. растравить слова в порядке русского алфавита
       4. вывести слова
    */

    #define _GNU_SOURCE

     //пример использования функции fputc
    #include <string.h>
    #include <stdio.h>
    #include <stdlib.h>     //strtod
    #include <stdbool.h>
    #include <math.h>  // pow
    
    #include <string.h> // новое  

    int main()
    {
        // - безразмерная инициализация
        char *line = NULL;
        size_t len = 0;
        printf("Введите строку :");
        getline(&line, &len, stdin);
        printf("Введёная строка :%s",line);
         
        // ввод
        char massiw[256][256];
        
        // фильтрация
        char alfavit_big[] = "АБВГДЕЁЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
        char alfavit_lit[] = "абвгдеёжзиклмнопрстуфхцчшщъыьэюя";
        
        // пузырьковsй алгоритм
        int t[256];
        // массив такой проходим весь массив и индексируем его
        // индексируем массив
        for(int i = 0; i < sizeof(massiw[256]); i++){
            for(int i1 =0; i1 < 32; i1++){
                if(massiw[i][0] == alfavit_big[i1])
                    t[i] = i1;
                if(massiw[i][0] == alfavit_lit[i1])
                    t[i] = i1;
            }
        }
        
        // выводим растравляем массив в соответствии алфавиту :3
        for(int i = 0; i < sizeof(massiw[256]); i++) {
                for(int j = 0; j < sizeof(massiw[256]) - i - 1; j++) {
                    if(t[j] > t[j+1]) {
                        // тут массив слов
                        char tmp = massiw[j];
                        massiw[j] = massiw[j+1];  // вот тут вот ошибка !!!
                        massiw[j+1] = tmp;           // вот тут вот ошибка !!!
                        // а тут массив чисел
                        char tmp1 = t[j];
                        t[j] = t[j+1];
                        t[j+1] = tmp1;
                    }
                }
            }
            
        // вывод уже отфильтрованной строки
       
        
        //  конец программы очистка буферов
        free(line);
        return EXIT_SUCCESS;
    }

пытался так поставить СИ но увы не удалось :frowning:

3 симпатии