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

Помогите описать программу ежестрочно!!!!! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ следующий шаг http://www.cyberforum.ru/cpp-beginners/thread53839.html
нужен совет заканчиваю изучать 1-ю книгу по С++ Дайтела Какие лучше книги дальше изучать, по: STL, MFC, OpenGL, Win 32 API, или что-то другое на Ваш взгляд - открыл руководство по STL, на первый...
C++ задача на вывод элементов набора Дано вещественное число B, целое число N и набор из N вещественных чисел, упорядоченных по возрастанию. Вывести элементы набора вместе с числом B, сохраняя упорядоченность выводимых чисел. Надо... http://www.cyberforum.ru/cpp-beginners/thread53813.html
Наследование классов. Копирование производных классов C++
Здравствуйте всем, у меня такой вопрос: написал код #include "stdafx.h" class A //Создаем класс А { int mA; public:
Графы на С++ C++
Помогите плиз! Есть задача: Посвящение в студенты.Есть n студентов.НЕ ВСЕ знают друг друга.Но у каждого есть знакомые..Действует принцип:"Знакомые моих знакомых - мои знакомые" Задача найти пары...
C++ Определить все ходы для белой шашки. http://www.cyberforum.ru/cpp-beginners/thread53781.html
На шашечном поле в произвольном порядке расставлены шашки. Для выбранной пользователем белой шашки определить все ее возможные ходы. Учесть, что за один шаг белая шашка может сбить несколько черных...
C++ как сделать правильно указатель на первую функцию #include "stdafx.h" #include "stdio.h" #include "conio.h" int F(int n) { if(n==0) return 1; if(n==1) return 1; return (n+(n-1)); } int _tmain(int argc, _TCHAR* argv) подробнее

Показать сообщение отдельно
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
03.10.2009, 10:50
в name[strlen(nam)] пишется признак конца строки ( '\0' ).
Если выделить места new char [strlen(nam)];
То '\0' запишется в name[strlen(nam)] , т.е. за границу массива, но работать будет, пока ты не перетрешь это место чем нибудь еще.

Добавлено через 2 минуты
Пример
nam = "123";
strlen(name) = 3
если создать name = new char[strlen(name)];
то в name хватит места под "123", а вот '\0' запишется в name[3], т.е. за границы массива.

т.о. +1 служит для выделения места под признак конца строки '\0'
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru