Функция не возвращает указатель на структуру - C (СИ)
Формулировка задачи:
как зделать. пробывал так
невыходит
typedef struct str str ;
struct str{
/*
*/
}
str* foo(void){
str temp;
/*
*/
return temp ;
}Решение задачи: «Функция не возвращает указатель на структуру»
textual
Листинг программы
typedef struct {
int data;
} str;
str* newStr(int data){
str* temp = (str*)malloc(sizeof(str));
temp->data = data;
return temp;
}
Объяснение кода листинга программы
- В начале кода объявляется структура
str, которая содержит один элемент типа int с именемdata. - Затем определяется функция
newStr, которая возвращает указатель на новую структуруstr. - Внутри функции
newStrвыделяется память под новую структуруstrс помощью функцииmalloc. - Затем в новую структуру
strзаписывается значение переменнойdata. - Наконец, функция
newStrвозвращает указатель на новую структуруstr.