MyTetra Share
Делитесь знаниями!
Передача структуры в функцию и изменение значений элементов структуры
Время создания: 10.12.2008 12:46
Раздел: Компьютер - Программирование - Язык C (Си)
Запись: xintrea/mytetra_syncro/master/base/0000000365/text.html на raw.github.com

Пример передачи структуры в функцию по указателю, и пример передачи массива структур.


Имеется некая структура console_menu:


// Структура

typedef struct {

char text[100];

int value;

} console_menu;


Она используется в двух следующих функциях:


// Функция принимает одну структуру по указателю

set_one_item(console_menu *menu)

{

sprintf(menu->text,"One item");

menu->value=50;

}


// Функция принимает массив структур

set_console_menu(console_menu menu[])

{

sprintf(menu[0].text,"One item in array");

menu[0].value=5;


sprintf(menu[1].text,"Two item in array");

menu[1].value=100;

}


Вызов этих функция выглядит так:


void main(void)

{

console_menu omnu;

console_menu cmnu[10];


// Передача по указателю одной структуры (передается адрес структуры)

set_one_item(&omnu);

// Передача массива структур

set_console_menu(cmnu);


printf("%s %d\n",omnu.text, omnu.value);

printf("%s %d\n",cmnu[0].text,cmnu[0].value);

printf("%s %d\n",cmnu[1].text,cmnu[1].value);

}



Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования