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

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

Войти
Регистрация
Восстановить пароль
 
KATbIK
86 / 81 / 10
Регистрация: 02.08.2011
Сообщений: 335
#1

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

03.11.2011, 10:07. Просмотров 584. Ответов 3
Метки нет (Все метки)

Здравствуйте!
В общем нужно передать в функцию массив строк (чистый C)
Как правильнее это сделать и в дальнейшем обработать в самой функции.
Примерно так:
void func (char *p[]) {} или void func (char **p) {}

Ведь инфа. о кол-ве указателей теряется.

Что посоветуете?? (Передавать допл. инфу о кол-ве указателей или последним элементом делать NULL указатель.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2011, 10:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив указателей на строки (C++):

Создать специализацию для шаблона, которая принимает массив указателей на строки и количество этих указателей - C++
Нужно создать специализацию для шаблона, которая принимает массив указателей на строки и количество этих указателей. Эта специализация...

Чем отличаются двумерный символьный массив и массив указателей на строки - C++
Двумерный символьный массив и массив указателей на строки. Собственно чем они отличаются? Заранее спасибо.

Массив указателей на строки - C++
Помогите . вот само задание 1. Рассортировать слова русского текста по возрастанию отношения количества гласных букв к общему количеству...

Упорядочить одномерный массив указателей на строки - C++
Допустим у меня одномерный массив указателей на строки и они имеют как бы еще такие значения. int sos = 456; int boti = 200; int...

Как связать строки и массив указателей на них - C++
Привет. Была следующая задумка разбить строку на лексемы и каждую лексему отдельно занести в массив указателей на них *tableToken, но...

Создать дополнительный массив указателей на строки матрицы - C++
Как правильно в массиве указателей p1, каждой ячейкой указывать на каждую строку двумерного массива? int number_of_words = 3; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
03.11.2011, 10:15 #2
вот тема из страустапа там всё классно описывается
Вложения
Тип файла: txt Текстовый документ.txt (3.8 Кб, 104 просмотров)
easybudda
Модератор
Эксперт CЭксперт С++
9532 / 5525 / 932
Регистрация: 25.07.2009
Сообщений: 10,611
03.11.2011, 10:35 #3
KATbIK, можно делать и так и эдак, как удобнее. К примеру массив параметров, передаваемый в программу через ** argv заканчивается нулевым указателем, при чём количество параметров передаётся через argc.
C
1
2
3
4
5
6
7
#include <stdio.h>
 
int main(int argc, char ** argv){
    while ( argc-- )
        printf("%s\n", *argv++ );
    return 0;
}
C
1
2
3
4
5
6
7
#include <stdio.h>
 
int main(int argc, char ** argv){
    while ( *argv )
        printf("%s\n", *argv++ );
    return 0;
}
отработают одинаково.
KATbIK
86 / 81 / 10
Регистрация: 02.08.2011
Сообщений: 335
03.11.2011, 11:15  [ТС] #4
На основе примера Страуструпа (Страус труп? ) и easybudda Сделал маленький пример на будущие (если кто через google найдет):

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
 
//---------------------------------
void print_mij(char** m, int dim1) {
  int i;
  for (i = 0; i < dim1; i++) {
       printf(m[i]); 
       printf("\n");
      } //for (int i = 0; i < dim1; i++)
}
//---------------------------------
 
//---------------------------------
int main()
{
    char* day[] = {"mon", "tue", "wed", "thu", "fri", "sat", "sun"};
    int n = 7;
    char** pointer = day;
    print_mij(pointer, n);
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2011, 11:15
Привет! Вот еще темы с ответами:

Как работает массив указателей на строки двумерного массива? - C++
Есть работающий код: void main() { int matrix; for(i = 0; i &lt; 3; i++) { for(int j = 0; j &lt; 5; j++) { matrix...

Нужно создать статический массив строк как статический массив указателей на строки. Условние ниже --> - C++
Слова английского текста рассортировать по возрастанию количества заданной буквы в слове. Слова с одинаковым количеством такой буквы...

Массив указателей на массив строк и сортировка массива указателей - C++
Добрый день. Поступил вопрос. Есть задача. У нас встроенный массив char mass;.Мы вводим строки до тех пор, пока не будет заполнен массив...

создать статический массив строк как статический массив указателей на строки, задание ниже --> - C++
Слова английского текста, начинающиеся с гласных букв, рассортировать в алфавитном порядке по первой согласной букве слова. Остальные слова...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.11.2011, 11:15
Ответ Создать тему
Опции темы

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