Заполнение структуры через функцию - C (СИ)

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

#include <stdio.h>
#include <string.h>
char ch;
int i,j;
struct loc {
    char *name;
    char gr;
};
void reading (loc);
 
int main() {
    loc l;
    void reading(loc &l);
}
 
void reading (loc &l){
   l.name="Hello";  // выдает deprecated conversion from string constant to 'char*'. а если сделать просто char - проект не запускается invalid conversion from 'const char*' to 'char'
   printf("%s",l.name);
}

Код к задаче: «Заполнение структуры через функцию - C (СИ)»

textual
#include <stdio.h>
#include <string.h>
 
struct loc {
char name[100];
char gr;
};
 
void reading(loc* l) {
    memset(l->name, 0, sizeof(l->name))
    strncpy(l->name, "Hello", sizeof(l->name)-1);
}
 
int main() {
    loc l;
    reading(&l);
    printf("%s\n", l.name);
}

9   голосов, оценка 3.778 из 5


СОХРАНИТЬ ССЫЛКУ