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

В чем отличие указателей и массивов на примере strlen()? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ знак вопроса http://www.cyberforum.ru/cpp-beginners/thread257638.html
что означает знак вопроса вот здесь: double gcd (int x, int y ) { return (( y == 0) ? x : gcd (y, x % y )); } программа про НОК
C++ Разработать программу, обеспечивающую ввод, хранение, обработку и вывод информации о множестве объектов заданного типа Разработать программу, обеспечивающую ввод, хранение, обработку и вывод информации о множестве объектов заданного типа. Информация о каждом объекте однотипная, хранится в записи. Список... http://www.cyberforum.ru/cpp-beginners/thread257621.html
C++ Вычесления. Преременные double
Вот я столкнулся с проблемой вычисления. Проблема в том что я обьявил переменные с двойной точностью (double) И врорде всё правильно а программа не считает. Вроде бы она на компьютере он посильнее...
C++ Найти количество ненулевых элементов в заданном файле
Пожалуйста помогите сделать программы: Дан текстовый файл. В этом файле записана последовательность целых чисел, разделенная пробелами. Найти кол-во ненулевых элементов в заданном файле. Дан...
C++ интересно http://www.cyberforum.ru/cpp-beginners/thread257536.html
Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в программе должен вводиться размер списка (целое число), а сам...
C++ Построить график функции в C++ Разработать программу для определения точек пересечения графика функции y=k*sinα/α,(гиперболическая спираль) с осями координат. Так же построить график этой функции в промежутке от 40 до 100.... подробнее

Показать сообщение отдельно
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265

В чем отличие указателей и массивов на примере strlen()? - C++

15.03.2011, 11:51. Просмотров 424. Ответов 3
Метки (Все метки)

Здравствуйте уважаемые форумчаче. Появился вот такой вопрос.

Почему функция strlen работает в таком случае:

C++
1
2
3
4
5
6
7
    const int num=100;
    char arr[256];                     [B] //массив[/B]
    cout << "Enter string \n";
    cin.getline(arr, num);
    int k;
    k=strlen(arr);
    cout << k << "\n";
а в таком случае, непонятно как работает:

C++
1
2
3
4
5
6
7
    const int num=100;
    char *arr;                                [B]//указатель[/B]
    cout << "Enter string \n";
    cin.getline(arr, num);
    int k;
    k=strlen(arr);
    cout << k << "\n";
во втором случае функция strlen ведет подсчет только до 7-10 символов и нескольких пробелов. Если много немного больше то вылет из программы. Подскажите пожалуйста почему так? Ведь массив и указатель это одно и то же.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru