![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
![]() Пользователь ![]() ![]() Группа: Posters Сообщений: 139 Регистрация: 4.7.2006 Из: http://mobithings.ru Пользователь №: 853 ![]() |
Каким образом выделить динамическую память массиву?
-------------------- |
|
|
![]() |
![]()
Сообщение
#2
|
|
![]() Пользователь ![]() ![]() Группа: Posters Сообщений: 139 Регистрация: 4.7.2006 Из: http://mobithings.ru Пользователь №: 853 ![]() |
Врядли надо использовать библиотеку <alloc.h>
-------------------- |
|
|
Гость_GMaxim87_* |
![]()
Сообщение
#3
|
Guests ![]() |
Прототипы ф-ий:
#include <stdlib.h> void *malloc(size_t кол-во_байтов) /* Выделяет память */ void free(void *p) /* Освобождает память (p - указатель на участок памяти * ранее выделенный с помощью ф-ии malloc() ) */ Пример: (толька для С, в С++ запись более простая) /* mallok & free_23.12.2006 */ #include <stdio.h> #include <stdlib.h> char* mass(void); int main(void) { char* ps = mass(); printf("%s",ps); free(ps); /* Освобождение памяти */ system("pause"); return 0; } char* mass(void) { char* s = malloc(5*sizeof(char)); /* Передача s в кучу */ s = "User\n"; if(!s) { printf("Память исчерпана!\n"); exit(1); } return s; } |
|
|
Гость_mix_* |
![]() ![]()
Сообщение
#4
|
Guests ![]() |
char* mass(void) { char* s = malloc(5*sizeof(char)); /* Передача s в кучу */ s = "User\n"; if(!s) { printf("Память исчерпана!\n"); exit(1); } return s; } Чувак, а тебе не кажется что после " s = "User\n"; " указатель s будет указывать на память где лежит "User\n", а то что сделано при помощи char* s = malloc(5*sizeof(char)); будет "навсегда ![]() |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 3rd July 2025 - 18:03 |