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

Массив указателей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не появляется диалоговое окно http://www.cyberforum.ru/cpp-beginners/thread618371.html
В visual studio 2010 в программе нет ошибок, но диалоговое окно с результатом ее работы не появляется. Что делать?
C++ win32api странности при выводе на экран Доброго времени суток. Возникла проблема: при использовании в цикле TextOut на экран выводится только одна первая цифра, считанная из массива matr и переведенная в символ, хотя их должно быть как... http://www.cyberforum.ru/cpp-beginners/thread618369.html
Найти фамилии и адреса людей,чей телефон начинается с цифры 3 C++
Здравствуйте! Подскажите как реализовать эту задачу?! Известны фамилии,адреса и телефоны 25-ти человек,Найти фамилии и адреса людей,чей телефон начинается с цифры 3. Расмотреть два случая : ...
C++ Ошибка записи в файл с использованием ifstream
Здравствуйте! Я использую visual studio и у меня вылазит ошибка при компилировании следущего кода, а в Borland все работало: Main.cpp #include "main.h" void main () { ClassA c("2",3,6,4); ...
C++ Функция sort http://www.cyberforum.ru/cpp-beginners/thread618339.html
#define _CRT_SECURE_NO_WARNINGS #include <string> #include <iostream> #include <map> #include <math.h> #include <algorithm> using namespace std; #define E 0.0000000001
C++ Файл: Для заданной в файле матрицы A (n на m) определить количество строк, которые упорядочены по возрастанию помогите написать программу Для заданной в файле матрицы A (n на m) определить количество строк, которые упорядочены по возрастанию подробнее

Показать сообщение отдельно
sievmi
2 / 2 / 0
Регистрация: 20.06.2012
Сообщений: 73

Массив указателей - C++

03.07.2012, 15:14. Просмотров 441. Ответов 4
Метки (Все метки)

Приветствую всех, кто посетил эту тему.
В данный момент я читаю книгу "С++. Руководство для начинающих." (Герберт Шилдт ) и столкнулся с вот таким исходником :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <cstring>
using namespace std;
 
int main()
{
    char *dictonary[][2] =
    {
        "Word1", "Defenition1",
        "Word2", "Defenition2",
        "Word3", "Defenition3",
        "Word4", "Defenition4",
        "Word5", "Defenition5"
        "",""
    };
 
    char word[80];
    int i;
 
    cout << "Enter the word: ";
    cin >> word;
 
    for( i = 0; *dictonary[i][0]; i++ )
    {
        if( !strcmp(dictonary[i][0], word) )
        {
            cout << *dictonary[i][1] << "\n";
            break;
        }
    }
 
    if( !*dictonary[i][0] )
        cout << word << " not foundo.";
 
    return 0;
 
}
Как я понял, сдесь создаётся двумерный массив указателей, каждый элемент которого хранит адресс одной из строк, которые записаны далее.

Собственно вопрос :
Поему вот в этой строке обращение к массиву происходит без начального *(ведб в моем понимании в массиве dictonary не строки а их адреса, а для ф-ии сравнения строк нужна строка ), а если его использовать, то ошибка компиляции.

C++
1
        if( !strcmp(dictonary[i][0], word) )
Прошу меня поправить, если я что-то написал не верно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru