Передать указатель на структуру в параметре функции - C (СИ)
Формулировка задачи:
Есть структура
На чистом Си нужно передавать указатель на нее в параметре функции, и возвращать ее результате.
Объявляю так:
Пробовал так:
Но это не работает, подскажите плиз как правильно.
struct Test{ BYTE Size; BYTE* Mass[255]; };
struct Test _Test;
Test* FUNC (Test* a) { struct Test _Test; return &Test; }
Решение задачи: «Передать указатель на структуру в параметре функции»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> typedef int BYTE; struct Test { BYTE Size; BYTE Mass[ 255 ]; // тут точно должен быть массив указателей? }; struct Test* Func( struct Test* a ); int main( void ) { struct Test exam; exam.Size = 10; struct Test* examToo = Func( &exam ); printf( "%d", examToo->Size ); free( examToo ); // а тут мы очищаем выделенную динамически память return EXIT_SUCCESS; } struct Test* Func( struct Test* a ) { // если возвращать указатель на структуру, то память нужно выделить динамически // не забывая потом очищать struct Test* _Test = ( struct Test* ) malloc( sizeof(struct Test) ); _Test->Size = a->Size; return _Test; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д