Как правильно скопировать массив? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет, есть массив фамилий, я его расставляю по алфавиту и вывожу, все вроде бы ок, но мне надо чтоб исходный массив выводился так же в конце программы, то есть программа должна запомнить его и потом вывести, я это хочу сделать через копию массива, нигде не нашел инфы как правильно скопировать массив, подскажите пожалуйста как,
#include <iostream>
#include <conio.h>
 
 int main()
{   int i, j;
    
    char words[8][128]= {"Ivanov, Ivan", "Petrov, Petr", "Sidorov, Ivan", "Aladov, Dima", "Pavlov, Pavel", "Katov, Sasha", "Balonov, Vova", "Maslov, Zheka"}; 
    char (*names)[8][128]; 
    names = &words;
    int ages[8] = {18, 15, 20, 22, 34, 32, 21, 12};  

    for(i=0;i<7;i++)
        for(j=i+1;j<8;j++)
            if(strcmp((*names)[i],(*names)[j])>0)
            {   char cur[64];
                strcpy(cur,(*names)[i]);
                strcpy((*names)[i],(*names)[j]);
                strcpy((*names)[j],cur);
             }

    printf("Results:\n");
    for(i=0;i<8;i++)
        
        printf("%s\n", (*names)[i]);
        printf("\n");
    
   getch();
    return 0;
}

Решение задачи: «Как правильно скопировать массив?»

textual
Листинг программы
char old_words[8][128];
/* ... */
memcpy(old_words, words, sizeof words);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы