Ссылка на массив структур

Рейтинг: 0Ответов: 1Опубликовано: 19.01.2015

Подскажите, как правильно передать ссылку на массив структур в функцию?

struct MyStruct
{
 char a[15];
 int s=0;
}MyStruct;

int funkciy(struct obyekt *f);
int _tmain()
{
 struct MyStruct obyekt[10];
 obyekt[0].s = 1;
 obyekt[1].s = 5;
 obyekt[2].s = 7;
 obyekt[0].a,'2';
 for (int z = 0; z < 10; ++z)
 {
  cout << " a= " << obyekt[z].a << " s= " << obyekt[z].s << endl;
 }
 funkciy(&obyekt);

 return 0;
}

int funkciy(struct obyekt *f)
{
 cin >> f[1].s=0;
 return 0;
}

Ответы

▲ 1

к примеру! читайте код.

#include <iostream>
#include <vector>

using namespace std;

struct myStruct{ // структура
    char c[3];  
};

void fillStruct(myStruct & m); // прототип функции

int main(){
    vector<myStruct> theStruct(10);

    for (size_t i = 0; i < theStruct.size(); i++){ // заполняем данные в структуре
        fillStruct(theStruct[i]);
        cout << theStruct[i].c[0] << theStruct[i].c[1] << theStruct[i].c[2] << endl; // выводим на экран для проверки
    }

    return 0;
}

void fillStruct(myStruct & m){ // передаем по ссылке
    m.c[0] = 'a'; // если захотите то можете сделать ввод "вручную"
    m.c[1] = 'b';
    m.c[2] = 'c';
}