Q:

Создать массив структур со студентами на Си

При создании функции, которая добавляет студентов в массив структур, подсвечивает красным. 
 Вот весь код
#include <stdio.h>
#include <string.h>
#include <locale.h>

struct addStudent(char name[], unsigned int age, unsigned int course, unsigned int);

struct student {
    char name[50];
    unsigned int age;
    unsigned int course;
};

unsigned int student_counter = 0;

int main(void) {
    setlocale(LC_ALL, "Rus");

    struct student st[20];

    strcpy_s(st[0].name, 50, "Руслан");
    st[0].age = 18;
    st[0].course = 1;
    student_counter += 1;

    for (int i = 0; i < student_counter; i++) {
        printf("%s \t %d курс \t  %d лет \n", st[i].name, st[i].course, st[i].age);
    }
    _getch();
    return 0;
}

struct addStudent(char name[], unsigned age, unsigned course, unsigned age){
    student res_st;
    scrcpy_s(res_st, 50, name);

}

Почему не получается создать функцию addStudent?  Заранее спасибо. 

A:

вам стоило бы изучить указатели и выделение памяти
вот рабочий пример:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

struct student *addStudent(char *name, unsigned int age, unsigned int course);

struct student {
    char name[50];
    unsigned int age;
    unsigned int course;
};

unsigned int student_counter = 0;

int main(void) {
    setlocale(LC_ALL, "Rus");

    struct student *st[20];

    st[0] = addStudent("Руслан", 18, 1);
    student_counter += 1;

    for (int i = 0; i < student_counter; i++) {
        printf("%s \t %d курс \t  %d лет \n", st[i]->name, st[i]->course, st[i]->age);
    }

    return 0;
}

struct student *addStudent(char *name, unsigned int age, unsigned int course) {
    struct student *res_st = malloc(sizeof(struct student));
    strcpy(res_st->name, name);
    res_st->age = age;
    res_st->course = course;

    return res_st;
}

а функцию addStudent у вас не получается создать потому что:

в аргументах фунции после unsigned нужно написать тип данных int
вы не возвращаете созданную вами структуру, она создается внутри функции и после ее завершения она пропадает
в аргументах дублируется обьявление age

