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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
#1

Укаатель на массив указателей - C++

17.02.2011, 14:05. Просмотров 260. Ответов 1
Метки нет (Все метки)

Здравствуйте! Есть массив указателей:

C++
1
2
3
4
5
6
7
8
char *names[] = 
{
    "Sergey",
    "Yurii",
    "Olga",
    "Igori",
    NULL            //Нулевая константа кончает список;
};
Есть функция для нахождения слов:

C++
1
2
3
4
5
6
7
8
9
int search(char *p[], char *name)
{
    int t;
    
    for(t=0; p[t]; t++)                        //Что такое p[t]? 
        if(!strcmp(p[t], name)) return t;
    
    return -1;  
}
Я так понимаю что p[t] какое то целое значение, в таком случае:

C++
1
2
3
4
int t=0;
char *k;
k=names[t];
 cout << k << "\n";
выходят ошибки. Я понимаю что в цикле мы пробегаемся по всем указателям. Все таки плохо я понимаю как работают указатели. Помогите пожалуйста разобраться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2011, 14:05     Укаатель на массив указателей
Посмотрите здесь:

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

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4929 / 2509 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
17.02.2011, 14:36     Укаатель на массив указателей #2
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
char *names[] = 
{
    "Sergey",
    "Yurii",
    "Olga",
    "Igori",
    NULL        // NULL обозначает конец списка
};
 
int search(char *p[],   // Массив строк, то есть указателей
       char *name)  // Имя, которое необходимо найти в этом списке
{
    int t;
    for(t=0; p[t]; t++)             // запись p[t] аналогична записи p[t] != NULL, 
        if(!strcmp(p[t], name)) return t;   // смотри выше, что обозначает NULL, то есть цикл работает до конца списка
                            // если strcmp возвращает 0, то строка найдена и данная функция возвращает
    return -1;                  // ее индекс в массиве char *p[], 
}                           // в другом случае функция возвращает -1
 
int main()
{
    printf("%s\n%s\n", names[0], names[search(names, "Igori")]);
}
Yandex
Объявления
17.02.2011, 14:36     Укаатель на массив указателей
Ответ Создать тему
Опции темы

Текущее время: 02:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru