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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.80
The_Immortal
1548 / 484 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
#1

Размер символьного массива - C++

14.06.2012, 10:43. Просмотров 3285. Ответов 24
Метки нет (Все метки)

Всех приветствую!

Прошу простить, что тревожу столь банальными вопросами, но сам додумать не могу...

Задан массив:
C++
1
2
char *a = new char;
a="qwnsjfnsdjfnsfsf;ajsdnf";
Необходимо узнать не длину этой строки, а сколько байт занимает данный массив в памяти. strlen() вернет длину, которая будет эквивалентна размеру данного массива, т.к. 1 char = 1 байт, это понятно. Но как обратиться именно к размеру в памяти?

На мой глупый ум приходит только:

C++
1
size_t n=sizeof(*a)*strlen(a);
Подскажите, пожалуйста...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2012, 10:43     Размер символьного массива
Посмотрите здесь:

C++ Сортировка символьного массива
Заполнение массива значениями из символьного массива C++
C++ Почему размер символьного массива должен быть больше на 1 символ, а не на 2?
Ввести размер массива с клавиатуры и передать этот размер в конструктор C++
C++ Обработка символьного массива
Инициализация символьного массива C++
C++ Обработка символьного массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
The_Immortal
1548 / 484 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
24.06.2012, 16:37  [ТС]     Размер символьного массива #21
Ребят, а объясните, пожалуйста, каким образом в данном примере резервируется место под строку, которая будет вводиться?

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    char *a;
    cin >> a;
    cout << endl << a << endl;
    system("pause");
    return 0;
}
- я специально не задаю размер строки, ввожу приличный текст и полностью получаю его в ответ, не нарываясь ни на какой AV - почему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6547 / 3967 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.06.2012, 22:42     Размер символьного массива #22
Цитата Сообщение от The_Immortal Посмотреть сообщение
не нарываясь ни на какой AV
это называется "не повезло"
The_Immortal
1548 / 484 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
24.06.2012, 23:28  [ТС]     Размер символьного массива #23
Jupiter, т.е. в теории я рано или поздно таким образом нарвусь на закрытый блок памяти, так?
Jupiter
Каратель
Эксперт C++
6547 / 3967 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.06.2012, 23:37     Размер символьного массива #24
именно так
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2012, 23:45     Размер символьного массива
Еще ссылки по теме:

Удалить * из символьного массива C++
C++ Сортировка символьного массива
C++ Инициализация символьного массива
C++ Перебор символьного массива
Вывод символьного массива C++

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

Или воспользуйтесь поиском по форуму:
The_Immortal
1548 / 484 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
24.06.2012, 23:45  [ТС]     Размер символьного массива #25
Jupiter, блин, сколько не пытаюсь - не получается )) Просто верить - одно, а на практике ощутить - другое...
Ну ладно, замнем для ясности
Yandex
Объявления
24.06.2012, 23:45     Размер символьного массива
Ответ Создать тему
Опции темы

Текущее время: 06:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru