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

Как вывести на экран именно адрес символьного массива? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В прямоугольной матрице выявить все диагонали http://www.cyberforum.ru/cpp-beginners/thread1173322.html
Помогите В прямоугольной матрице выявить все диагонали , сумма элементов верхних и нижней половины одинаковы
C++ Ошибка "integer constant is too large for 'long' type" #include "Blockdll.h" #include <Windows.h> #include <iostream> using namespace std; #define m 0x100000000 #define block_size 10 #define buf_size 100*block_size*2 http://www.cyberforum.ru/cpp-beginners/thread1173293.html
C++ Qsort_s и qsort
в чем отличие данных функций? Если можно пример использования qsort_s и с какого vs начинается ее поддержка. И вот моя старая тема по которой я не получил ответа(программа для записи символов) http://www.cyberforum.ru/cpp-beginners/thread1155752.html
Можно ли ка кто заставить vs открыть файл используя определенную программу для него и считать от туда данные? C++
Можно ли ка кто заставить vs открыть файл используя определенную программу для него и считать от туда данные?
C++ Вычислить площадь квадрата или треугольника http://www.cyberforum.ru/cpp-beginners/thread1173249.html
вычислить площадь квадрата или треугольника
C++ Обход матрицы есть двумерная матрица 4х4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 ее рандомно перемешиваем. потом берем любую ячейку и нужно проверить соседние значения. нужно для реализации игры "15" подробнее

Показать сообщение отдельно
Evancel
0 / 0 / 0
Регистрация: 09.05.2014
Сообщений: 5
12.05.2014, 16:21     Как вывести на экран именно адрес символьного массива?
Добрый день!

Есть два кода с указателями: в одном указатель типа int, во втором типа char.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main ()
{
    int* pAge = new int;
    cout << "Enter your dogs age: ";
    cin >> *pAge;
 
    cout << "Age " << *pAge << " is stored at 0x" << hex << pAge << endl;
 
    return 0;
}
и второй вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <string>
using namespace std;
 
int main ()
{
    cout << "Enter your name ";
    string Name;
    cin >> Name;
 
    int CharAllocated = Name.length ()+1;
    char* pCopyName = new char [CharAllocated];
 
    strcpy(pCopyName, Name.c_str());
    cout << "Dynamically allocated buffer contains: " << pCopyName << endl;
 
    return 0;
}

Поясните пожалуйста, почему во втором коде в выводе на экран мы пишем pCopyName вместо *pCopyName. Я так понимаю, что pCopyName должен указывать адрес символьного массива, а не его значение. Значение символьного массива по аналогии с первым кодом это *pCopyName. И как тогда вывести на экран именно адрес символьного массива?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru