Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.81
Desoad
1 / 1 / 0
Регистрация: 30.11.2008
Сообщений: 12
#1

Для чего используеться передача структурных переменных в функцию? - C++

21.01.2009, 23:46. Просмотров 2647. Ответов 4
Метки нет (Все метки)

Вообщем прошу помощи.
1) Для чего используеться передача структурных переменных в функцию?
Как производиться доступ к полям структуры? Какими дополнительными возможностями обладают структуры.
2) На языке С 1. нужно написать выражение для доступа к 4-му элементу двухмерного массива. 2.1)Последовательность операторов которая печатает двухмерный массив в табулированном формате.
2.2) присваивает нулевые значения первым 10 элементам двухмерного массива.

Буду благодарен всем кто отзоветься и поможет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2009, 23:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для чего используеться передача структурных переменных в функцию? (C++):

Перевод в часы, минуты и секунды для структурных переменных - C++
Дело в том, что неправильно переводит. По идее вроде вычисления должны быть верными, но не работает. Возможно опять моя невнимательность. ...

Копирование структурных переменных - C++
Вот я создал структуру и хочу ее передать в массив (сделать массив структур). После копирования, я не могу получтиь доступ по индексу: ...

Передача переменных в функцию - C++
#include <iostream> int fun(int x, int y, int z); int main() { int x, y, z;

Поменять местами строки в массиве структурных переменных - C++
A- массив структурных переменных. Нужно поменять местами строки A и A struct Q { int N; char H; }; int main() ...

Создать функцию для расчёта максимального из трёх переменных - C++
Даны действительные числа x, y, z. Создать собственную функцию для расчёта максимального из трёх переменных max(a,b,c).

Передача массива указателей в функцию для выделения памяти - C++
Есть функция, в которую передаются массивы указателей, для выделения памяти. void str_malloc(char** &strBol,char** &strUvr,char**...

4
XuTPbIu_MuHTAu
Эксперт С++
2227 / 742 / 10
Регистрация: 27.05.2008
Сообщений: 1,498
22.01.2009, 00:22 #2
Все ответы есть на первых 10-20 страницах какой-нибудь книжки по си.
0
Desoad
1 / 1 / 0
Регистрация: 30.11.2008
Сообщений: 12
22.01.2009, 19:50  [ТС] #3
Все же нужен ответ =( Прошу помощи...
Хотябы на 2-ой вопрос
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
22.01.2009, 23:55 #4
1) Для чего используеться передача структурных переменных в функцию?
для заполнения структуры или для считывания значений её полей, основное свойство - элементы структуры передаются все сразу (то есть за один раз можно передать много переменных разных типов)
доступ к полю осуществляется напрямую или по ссылке, если передали структуру, то прямой доступ, если указатель на структуру, то доступ к полю по ссылке на поле

Какими дополнительными возможностями обладают структуры.
могут хранить в себе структуры и одну структуру можно присвоить другой (если они одного структурного типа)
1
YurA_280784
Заблокирован
23.01.2009, 11:01 #5
Допустим есть структура
typedef struct tagPERFDATA
{
char *chIndex;
char *sObject;
} PERFDATA;

тогда

Ответ к 1
//Выделение памяти под структуру
PERFDATA * pPERFDATA = (PERFDATA *)malloc(sizeof(PERFDATA)*nCount);
nCount - количество структур в проге
//Выделение памяти для элементов структуры
//если элементы не указатели то память под элементы выделять не нуна
pPERFDATA[i].chIndex = (char *)malloc(MAX_PATH);
pPERFDATA[i].sObject = (char *)malloc(MAX_PATH);

//Использование поля chIndex i - ой структуры
strcpy(pPERFDATA[i].chIndex,"Some string");

//Передача структуры в функцию
void GetPerflibDataIndex(PERFDATA * pPERFDATA, LPCSTR sObject)
Здесь pPERFDATA может представлять собой массив из структур PERFDATA

2.
Доступ к 4-му элементу
for(int j,k = 0, i = 0; i < m; i++)
{
for(j = 0; j < n; j++,k++)
{
if(k == 4)
{
break;
}
}
}

Добавлено через 1 минуту 33 секунды
3 Обнуляет первые 10 элементов
for(int j,k = 0, i = 0; i < m; i++)
{
for(j = 0; j < n; j++,k++)
{
if(k < 10)
{
mas[i][j] = 0;
}
}
}

PS:Не забываем про спс

Добавлено через 1 минуту 20 секунд
Извеняюсь при копировании знаки парашей какой-то выбелись, так правильно буд
for(int j,k = 0, i = 0; i < m; i++)
{
for(j = 0; j < n; j++,k++)
{
if(k < 10)
{
mas[i][j] = 0;
}
}
}

Добавлено через 1 минуту 10 секунд
Чёрт снова ну млин и писец
i < m, j < n, k < 10

Добавлено через 1 минуту 54 секунды
Та шо за млин
i меньше m
j меньше n
k меньше 10

Я на пойму форма отправки сообщений глючит при смене раскладки???
Эт я к администрации форума обращаюсь...
1
23.01.2009, 11:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2009, 11:01
Привет! Вот еще темы с ответами:

Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все обьявлять. - C++
Для чего нужно писать в int main() в скобках всякие args потом объявлять переменные, и прочее. Для чего если можно в сборках это все...

Передача переменных - C++
Имеется метод void Question::reg(Date* a) { int year1,day1,hour1,min1,sec1; char* Mon1; year1=a-&gt;getYear(); ...

Передача указателя на шаблонную функцию в другую функцию - C++
Пишу тест для нескольких улучшений квиксорта с измерением времени. Функция benchmark принимает итераторы для диапазона элементов, указатель...

Передача объекта в функцию или функцию друга - C++
Здравствуйте, уважаемые программисты :) К примеру есть такой код. #include &lt;iostream&gt; using namespace std; class My_Class1 { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.