Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / char *pr; pr = (char *)malloc(n); узнать размер массива pr / 5 сообщений из 5, страница 1 из 1
15.04.2019, 13:16
    #39801459
AdamAry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
char *pr; pr = (char *)malloc(n); узнать размер массива pr
На чистом c:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
char *pr;
....
// вычисляем n
pr = (char *)malloc(n);
// Присваиваем элементам массива отдельные символы:
pr[0] = 'z';
....
pr[8] = 'a';
...



1. Как узнать размер массива (колво элементов) pr?
2. Как узнать колво символов в pr?
3. Надо ли вручную добавлять символ окончания строки после pr[8] = 'a';
типа?:
Код: plaintext
1.
pr[9] = '\0';
...
Рейтинг: 0 / 0
15.04.2019, 13:21
    #39801464
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
char *pr; pr = (char *)malloc(n); узнать размер массива pr
AdamAry,

Код: plaintext
1.
2.
#include <malloc.h>
size_t _msize(void* ptr);



возвращает размер выделенного блока
...
Рейтинг: 0 / 0
15.04.2019, 13:26
    #39801470
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
char *pr; pr = (char *)malloc(n); узнать размер массива pr
AdamAry1. Как узнать размер массива (колво элементов) pr?

Код: sql
1.
n/sizeof(*pr)


2. См. выше.
3. Зависит от задачи для которой массив создаётся.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.04.2019, 14:11
    #39801509
AdamAry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
char *pr; pr = (char *)malloc(n); узнать размер массива pr
CEMb,

size_t z;
z = _msize(pr); // _msize(void* ptr);
printf("z: %d \n",z);
for(int i = 0; i < z; i++)
{
printf("%c\n", pr[i]); // не выводит
}

Как с помощью printf вывести данные из pr?
...
Рейтинг: 0 / 0
15.04.2019, 14:15
    #39801514
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
char *pr; pr = (char *)malloc(n); узнать размер массива pr
AdamAryКак с помощью printf вывести данные из pr?

Именно так, как ты и написал. Для проверки можешь заменить %c на %d.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / char *pr; pr = (char *)malloc(n); узнать размер массива pr / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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