Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char * buildstr(char c, int n);
- int main()
- {
- int times;
- char ch;
- cout << "Enter a character; ";
- cin >> ch;
- cout << "Enter an integer: ";
- cin >> times;
- char * ps = buildstr(ch, times); /*это самое объявление указателя и инициализация его возвращаемым значением функции buildstr,
- (указатель всегда инициализируется памятью, здесь он инициализируется
- результатом функции buildstr, ее возвращаемое значение это массив, который создается в функции buildstr)
- char * ps = new char;
- ps = buildstr(ch, times); так для меня понятнее */
- cout << ps << "\n";
- delete[] ps; // здесь удаляется память, на которую указывает ps, но не сам указатель ps. ps, все еще входит в блок функции main
- ps = buildstr('+', 20);/* инициализация указателя ps, значением памяти массива pstr. массив pstr уничтожается, после отработки функции buildstr. */
- cout << ps << "-DONE-" << ps << "\n";
- delete[] ps; // здесь удаляется память, на которую указывает ps
- system("pause");
- return 0;
- }
- char * buildstr(char c, int n)
- {
- char * pstr = new char[n + 1];
- pstr[n] = '\0';
- while (n-- > 0)
- {
- pstr[n] = c;
- }
- return pstr;
- }
Advertisement
Add Comment
Please, Sign In to add comment