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

Выделение динамической памяти в функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считать одномерный массив с файла, отсортировать его использую рекурсивный вызов функции http://www.cyberforum.ru/cpp-beginners/thread17559.html
Нужно написать прогу на Си, самую элементарную... Считать одномерный массив с файла, отсортировать его использую рекурсивный вызов функции, вывести на экран и записать в другой файл... Пожалуйста...
C++ программы в С, кто может, пусть поможет ) 1. y = 2*(sin(x)/1 – sin(2x)/2 + sin(3x)/3 ...), π<x<π; (приближение функции y=x); 2. y = (π^2)/6 (cos(2x)/1 + cos(4x)/(2^2) + cos(6x)/(3^2) + ... ), 0<x<π; (приближение функции y=x(πx)); 3. y =... http://www.cyberforum.ru/cpp-beginners/thread17555.html
Общение с com-портом C++
Здравствуйте. Мне нужно передавать и принимать информацию через компорт. Как это делалось в Win98, я знаю, делал программу. Нужно это сделать для WinXP, причем в среде разробтчика Dev-C++, там...
C++ Жесть а не код...
Доброго времени суток всем кто на этом прекрасном ресурсе. Ну как обычно: в С++ я новичок, я больше по web и т.д. Люди, нужна помощь. Есть фрагмент кода: int a=10,b=10; for(int i=0;i<a;i++) ...
C++ Расчет стоимости поездки из одного города в другой и обратно http://www.cyberforum.ru/cpp-beginners/thread17521.html
Необходио написать программу на С для расчета стоимости поездки из одного города в другой и обратно.
C++ Не понимаю формулу =) Знаю как это сделать но не магу понять как написать эту формулу ((( хелп плз Написать функцию вычисления многочлена вида http://foto.tut.by/albums/userpics/m/g/1000025311//normal_c__664491.jpg. В... подробнее

Показать сообщение отдельно
Hellcat
Сообщений: n/a

Выделение динамической памяти в функции - C++

05.12.2008, 17:20. Просмотров 1516. Ответов 2
Метки (Все метки)

Прив.
У меня следующая проблема:
Необходимо выделить память на массив символьных строк, разбив всю программу на функции.

Вот код. При выделении памяти выдаётся ошибка "Null pointer assignment!"
Код
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<alloc.h>

void memA(char**,int,int);
void memF(char**,int);
void vvod(char**,int,int);
void vyvod(char**,int);

void main()
{
	char **mt;
	int n, m, ms;

	clrscr();

	puts("\nEnter number of strings");
	scanf("%d",&n);

	puts("\nEnter max. number of characters in evry string");
	scanf("%d",&m);
	memA(mt,n,m);

	vvod(mt,n,m);

	vyvod(mt,n);

	memF(mt,n);
}


void memA(char **s, int n, int m)
{
	s=(char**)calloc(n,sizeof(char*));
	for(int i=0; i<n; i++)
		*(s+i)=(char*)calloc(m+1,sizeof(char));
}

void memF(char **s,int n)
{
	for(int i=0; i<n; i++)
		free(*(s+i));
	free(s);
}

void vvod(char **s, int n, int m)
{
	puts("\n\nEnter strings:\n");

	for(int i=0; i<n; i++)
	{
		fflush(stdin);
		gets(*(s+i));
		//*(*(s+i)+m)='\0';
	}
}

void vyvod(char **s, int n)
{
	puts("\nThe input text:\n");
	for(int i=0; i<n; i++)
		puts(*(s+i));
	puts("\nThe end!");
	getch();
}
//Причём, если разбить функцию memA на две функции, первая из которых выделяет память на массив указателей, а вторая - на строки, то всё работает =(
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru