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

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

Войти
Регистрация
Восстановить пароль
 
Газмяс
0 / 0 / 0
Регистрация: 04.03.2009
Сообщений: 93
#1

Способы создания массива строк - C++

10.05.2009, 13:31. Просмотров 32292. Ответов 4
Метки нет (Все метки)

1) Напишите пожалуйста какие есть способы создания массива строк??? Все перерыл нигде не могу найти

2) и еще Как организуется доступ к файлам в С++ ?? Какие виды доступа есть?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2009, 13:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Способы создания массива строк (C++):

Способы создания объектов и арифметика указателей - C++
Вот сам код: class ListNode { public: ListNode(int val) { next=NULL; i=val; } ListNode*...

Способы создания динамической квадратичной матрицы вида matrix[N][N] - C++
1) Самый первый способ: Создание одного длинного одномерного массива (1 выделение (new)). Но здесь идёт работа с матрицей как с...

Какие способы создания приложения на этом языке Вы знаете? - C++
ответьте пожалуйста конкретно ну я нуб такой) 1.чтобы отличить код WINAPI от других то винапи это типа "ASD aSsdd....ASDFG xVbb"? то есть...

Какие еще есть способы создания визуальных приложений кроме WinApi? - C++
Здравствуйте, я так понимаю под Windows оконные приложения создаются на WinAPI. Хотел спросить есть ли другие инструменты для создания окон...

Найти причины и способы устранения ошибок в коде (работа с векторами строк) - C++
#include <iostream> #include <fstream> #include <string> #include <vector> int main() { system("chcp...

Какие способы самые удобные/рациональные способы регистрации ошибок есть? - C++
Задался вопросом, а как регистрировать ошибки? При этом чтобы и выглядело это красиво, и понятно было, и компактно. Заводить переменную...

4
ISergey
Maniac
Эксперт С++
1375 / 886 / 52
Регистрация: 02.01.2009
Сообщений: 2,661
Записей в блоге: 1
10.05.2009, 13:48 #2
Цитата Сообщение от Газмяс Посмотреть сообщение
1) Напишите пожалуйста какие есть способы создания массива строк??? Все перерыл нигде не могу найти
C++
1
2
3
4
5
6
7
char str1[] = "string";
 
char *str2  = "string";//const;
 
char *str3 = new char[7];
strcpy(str3,"string");
delete[] str3;
Цитата Сообщение от Газмяс Посмотреть сообщение
2) и еще Как организуется доступ к файлам в С++ ?? Какие виды доступа есть?
Input/Output with files
2
Жестянка
сцуко киборг
103 / 30 / 2
Регистрация: 11.09.2008
Сообщений: 193
10.05.2009, 16:37 #3
В с++ любая строка - уже массив (сhar-ов). Поэтому одномерный массив строк это - двумерный массив char.

Поэтому создать его можно тремя способами (как любой 2-мерный массив):

1. Явно:
Код
char Array[10][10];
в скобках нельзя ставить переменные (иначе компелер не поймет скока памяти под него выделять) поэтому и массив и сами строки получаются фиксированной длинны.
Вариант мало подходязий для строк, но в некоторых случаях (например при переборе базы маркировок, имеющих строго определенную длинну).

2. Массив указателей:
Код
char* Array[x];
for(int i=0;i<x;i++)
     {
     Array[i]=new char[]//или new char[y];
     }
x - количество строк, y - длинна строки. Причем "y" могут отличаться у строк в одном массиве.

3. Указатель на массив указателей:
Код
char** Array;
Array = new char *[x]; 
for (int i=0;i<x;i++)
    {
    Array[i]=new *char;
    }
почти то же самое, что и в предыдущем варианте.

А ещё можно написать свой класс (типа AnsiString в Билдере), использовав в нем один из этих способов и спокойно юзать его. Или пользоваться стандартными библиотеками (System::String). :-)
3
ISergey
Maniac
Эксперт С++
1375 / 886 / 52
Регистрация: 02.01.2009
Сообщений: 2,661
Записей в блоге: 1
10.05.2009, 16:55 #4
Цитата Сообщение от Жестянка Посмотреть сообщение
Или пользоваться стандартными библиотеками (System::String). :-)
ну ну это и близко стандартом не пахнет.
2
Xorazm
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 32
26.06.2017, 00:55 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
 
int main()
{
    int i;
 
   char *Name[100] = {"Руслан","Артур","Тимур","Иван","Света","Коля"};
char *(*ptr)[10] = &Name;
 
    for(i=0;i<6;i++)
    printf("%s\n",(*ptr)[i]);
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2017, 00:55
Привет! Вот еще темы с ответами:

Способы обращения к элементам массива - C++
Насколько мне известно, существуют два способа обращения к элементам массива: 1) С использованием квадратных скобок array 2)При...

Все способы передачи статического массива в функцию - C++
Здравствуйте уважаемые форумчане. Предлагаю выложить сюда все способы передачи СТАТИЧЕСКИХ массивов в функцию, желательно с объяснениями...

Метод-член класса для создания одномерного массива из отрицательных элементов двумерного динамического массива - C++
Помогите, пожалуйста, нужно разработать метод-член класса для создания одномерного массива из отрицательных элементов двумерного...

Объяснить причину и способы устранения ошибки (неправильно присваивается первый элемент массива) - C++
Объясните, пожалуйста ошибку. Неправильно присваивается первый элемент массива.Место ошибки указал в комментариях. #include &lt;iostream&gt;...


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

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

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