Давольно нубский вопрос.
Допустим есть код
struct mystruct {
int i;
}
void myfunc() {
mystruct myprot;
myprot.i = 10;
}
int main() {
myfunc();
cout << myprot.i; // тут проблема
return 0;
}
вообщем как мне быть с этим?
изменение структуры в функции
Модератор: Модераторы разделов
-
кодировщик
- Сообщения: 974
- Статус: зарёган в пятницу 13
- ОС: Linux
Re: изменение структуры в функции
Думаю поймёте
Код: Выделить всё
struct mystruct
{
int i;
};
int myfunc()
{
struct mystruct myprot;
myprot.i = 10;
return myprot.i;
}
int main()
{
printf("\n from myfunc=%d \n",myfunc());
return 0;
}-
sol11
- Сообщения: 6
Re: изменение структуры в функции
код я написал для примера, в структуре несколько элементов разных типов
-
Sleeping Daemon
- Сообщения: 1450
-
sol11
- Сообщения: 6
Re: изменение структуры в функции
С помощью указателей получилось
typedef struct
{
char a;
char b;
} mystruct;
void myfunc(mystruct *pStruct)
{
pStruct->a=1;
pStruct->b=2;
}
...
struct mystruct test;
myfunc(&test);
typedef struct
{
char a;
char b;
} mystruct;
void myfunc(mystruct *pStruct)
{
pStruct->a=1;
pStruct->b=2;
}
...
struct mystruct test;
myfunc(&test);
-
кодировщик
- Сообщения: 974
- Статус: зарёган в пятницу 13
- ОС: Linux
Re: изменение структуры в функции
Тут вы в функцию передаёте значение, в первом примере ничего не передовали, и ничего не возвращали.
-
sol11
- Сообщения: 6
Re: изменение структуры в функции
Да, моя вина, топик составил очень криво