Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с указателямии функциями. / 7 сообщений из 7, страница 1 из 1
11.03.2005, 22:36
    #32956836
Urvin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с указателямии функциями.
Помогите новичку! Работаю на обычном С без плюсов.
Есть функция:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
void main(){
	int k,i;
	int n= 8 , m= 7 ;
	float *xs;
	float *ys;

	printf("Enter k=5:");
	scanf("%d",&k);
	
	xs=malloc(k*sizeof(float));
	ys=malloc(k*sizeof(float));
	if(!xs) { printf("Not enough memory!\n"); exit( 1 ); }
	if(!ys) { printf("Not enough memory!\n"); exit( 1 ); }

	for (i= 0 ; i<k; i++) {
		printf("Enter x[%d]=",i);
		scanf("%f",(xs+i));
	}

	printf("Ymax = %f",fun(k,n,m,xs,ys));
	
	
	free(xs);
	free(ys);
}
Есть функция, ее прототип:
Код: plaintext
float fun(int k, int n, int m, ...)
Как мне внутри последней передать параметр - указатель указателю, объявленному внутри этой функции? Так, чтобы работать с памятью, как могу работать в главной функции?

Про целесообразность кода говорить не стоит - исполняю универские лабы...
...
Рейтинг: 0 / 0
11.03.2005, 22:46
    #32956845
miniСЛОН
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с указателямии функциями.
Urvin
Код: plaintext
float fun(int k, int n, int m, ...)
Как мне внутри последней передать параметр - указатель указателю, объявленному внутри этой функции? Так, чтобы работать с памятью, как могу работать в главной функции?
если я правильно понял, то
Код: plaintext
float fun(int k, int n, int m, float *xs, float *ys)
...
Рейтинг: 0 / 0
12.03.2005, 03:07
    #32956923
Urvin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с указателямии функциями.
Не, не совсем. Прототип ф-ции мне зпдан изначально, именно через функцию непределенного числа аргументов.
Я должен внутри ф-ции оперировать с теми же "динамическими массивами", т.е. участками памяти, которые использовалить в ф-ции майн. Значит, я должен отправить как параметр указатель на начало этого участка (количество элементов задается статическим параметром).
Теперь внутри этой ф-ции я должен работать с этими массивами так же, как если бы я работал с ними в главной ф-ции...
Собственно, как присвоить указателю, объявленному внутри значение того "неявного" указаьеля, который я передаю как параметр?

Задание такое... Будь моя воля, делал бы по другому....
...
Рейтинг: 0 / 0
12.03.2005, 07:41
    #32956964
Fivnew_А
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с указателямии функциями.
Кто тебе мешает создать структуру со своими параметрами или вообще класс. В главной программе инициализировать, а в функцию передать указатель на структуру ?
...
Рейтинг: 0 / 0
12.03.2005, 10:53
    #32957033
Urvin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с указателямии функциями.
Препод по информатике.
...
Рейтинг: 0 / 0
12.03.2005, 11:52
    #32957061
v6y
v6y
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с указателямии функциями.
learn about
Код: plaintext
1.
2.
3.
4.
void va_start(va_list ap, last);
type va_arg(va_list ap, type);
void va_end(va_list ap);
void va_copy(va_list dest, va_list src);

or something like this

?
...
Рейтинг: 0 / 0
12.03.2005, 15:03
    #32957187
zuzu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с указателямии функциями.
наверное имелось в виду это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
void f_Init(int **masiv, int dim)
{
*masiv = (int*)malloc(dim*sizeof(int));
}
void f_Done(int **masiv)
{
if (*masiv) free(*masiv);
*masiv = NULL;
}
...
void main()
{
...
int *t;

f_init(&t,  10 ); // теперь в t буде 10 элементов
...
for(i= 0 ;i< 10 ;i++)t[i]=i;
....
f_Done(&t);
...
}
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с указателямии функциями. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]