string array c implementation representation with examples
Um String Array em C ++ é um Array de Strings. Neste tutorial, vamos nos aprofundar nos detalhes da representação e implementação de matrizes de string em C ++:
Vimos arrays em C ++ em nossos tutoriais anteriores. Os arrays nos permitem declarar elementos de dados de vários tipos. Considerando que todos os arrays de tipos de dados numéricos são idênticos em operações e implementação, e os arrays com tipo de dados de string são diferentes.
qual é o melhor app espião
Em C ++, a string pode ser representada como uma matriz de caracteres ou usando uma classe de string compatível com C ++. Cada string ou elemento da matriz é encerrado por um caractere nulo. A representação de strings usando uma matriz de caracteres é retirada diretamente da linguagem 'C', pois não há tipo de string em C.
=> Clique aqui para obter o curso C ++ grátis.
O que você aprenderá:
Implementação de String Arrays
Em C ++, as strings podem ser representadas de três maneiras.
- Usando matrizes de caracteres bidimensionais: Esta representação usa os arrays bidimensionais onde cada elemento é a interseção de um número de linha e coluna e representa uma string
- Usando String Keyword: Também podemos usar a palavra-chave string de C ++ para declarar e definir matrizes de string.
- Usando vetores STL: Podemos usar vetores STL em que cada elemento de um vetor é uma string.
Agora, vamos discutir cada um dos métodos acima e também ver os exemplos de programação para cada representação.
Usando matrizes de caracteres bidimensionais
Matrizes de string ou uma matriz de strings podem ser representadas usando uma forma especial de matrizes bidimensionais. Nesta representação, usamos uma matriz bidimensional de caracteres de tipo para representar uma string.
A primeira dimensão especifica o número de elementos, ou seja, strings nessa matriz e a segunda dimensão especifica o comprimento máximo de cada elemento na matriz.
Portanto, podemos usar uma representação geral conforme mostrado abaixo.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)Por exemplo,considere a seguinte declaração:
char string_array(10) (20);A declaração acima declara uma matriz de strings denominada ‘string_array’ que tem 10 elementos e o comprimento de cada elemento não é superior a 20.
Podemos declarar e inicializar uma matriz de animais usando strings da seguinte maneira:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};Vejamos um exemplo de programação usando o conceito de matrizes de caracteres bidimensionais para entender melhor o conceito.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Resultado:

No programa acima, declaramos um array de strings chamado strArray de tamanho 5 com o comprimento máximo de cada elemento como 10. No programa, iniciamos um loop for para exibir cada elemento do array. Observe que só precisamos acessar o array usando a primeira dimensão para exibir o elemento.
O fácil acesso aos elementos é uma das principais vantagens dos arrays 2-D. Eles são realmente simples de programar.
A principal desvantagem deste tipo de representação é que ambas as dimensões da matriz, ou seja, o número de elementos e o comprimento máximo do elemento, são fixas e não podem ser alteradas como desejamos.
Em segundo lugar, especificamos o comprimento máximo de cada elemento como a segunda dimensão durante a declaração do array. Se o comprimento da string for especificado como 100 e tivermos todos os elementos com comprimento menor, a memória será desperdiçada.
Usando string de palavra-chave
Neste, usamos a palavra-chave ‘string’ em C ++ para declarar uma matriz de strings. Ao contrário das matrizes de caracteres, aqui temos apenas uma matriz 1D. A única dimensão especifica o número de strings na matriz.
A sintaxe geral para uma declaração de array de strings usando a palavra-chave string é fornecida abaixo:
string “array name” (“number of strings”);Observe que não especificamos o comprimento máximo da string aqui. Isso significa que não há limitação no comprimento dos elementos da matriz.
Como exemplo, podemos declarar um array de nomes de cores da seguinte maneira.
string colors(5); Podemos inicializar ainda mais esse array conforme mostrado abaixo:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”}; A seguir, é fornecido um programa C ++ para entender a palavra-chave string e seu uso em um array de strings.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Resultado:

Modificamos nosso programa anterior de matriz de caracteres e demonstramos o uso da palavra-chave string. A saída do programa é a mesma, mas a forma como é obtida é diferente, pois definimos uma matriz de strings usando a palavra-chave string.
Observe que o array de strings usando a palavra-chave string tem a vantagem de não termos limitações quanto ao comprimento dos strings no array. Como não há limitação, também não desperdiçamos espaço de memória.
Por outro lado, esse array tem um tamanho fixo. Precisamos declarar o tamanho do array de antemão.
Usando vetores STL
Também podemos usar vetores STL para declarar e definir arrays dinâmicos. Assim, para definir um array de strings, podemos ter um vetor STL do tipo string.
Esta declaração de uma matriz de strings usando vetor é mostrada abaixo:
vector “stringarray_Name”; Referindo-nos à declaração acima, podemos declarar um vetor “assuntos” da seguinte maneira:
vector mysubjects;Observe que podemos atribuir elementos ao vetor usando o método “push_back” ou qualquer outro método de vetor STL.
proteção de firewall grátis para windows 10
Dada a seguir é um exemplo de programação usando C ++ para demonstrar o uso do vetor STL para representar uma matriz de strings.
#include #include using namespace std; int main() { vector myNumbers; myNumbers.push_back('one'); myNumbers.push_back('two'); myNumbers.push_back('three'); myNumbers.push_back('four'); myNumbers.push_back('five'); cout<<'String array is as follows:'< Resultado:

No programa acima, temos um vetor STL myNumbers do tipo string. Em seguida, adicionamos elementos a esse vetor usando o método push_back e, em seguida, exibimos cada um dos elementos do vetor.
Se observarmos todo o funcionamento do vetor STL e do array de strings, veremos que, neste caso, não temos um limite para o número de elementos do array ou o comprimento máximo de cada elemento. Vemos que a matriz de strings usando vetores é completamente dinâmica e pode ser reduzida ou aumentada dinamicamente.
Como selecionar a representação a ser usada?
Agora que vimos todas as três representações de matrizes de strings, podemos concluir que, de todas as três representações, a representação vetorial é a melhor, pois é dinâmica por natureza.
Depende da finalidade e dos requisitos do array string. Quando temos o requisito de que precisamos de uma matriz de string de tamanho fixo e sabemos os dados exatos que irão para uma matriz de string, então podemos ir para uma matriz de caracteres ou representação de string.
Quando queremos que o array de strings cresça ou diminua dinamicamente, podemos recorrer à representação vetorial, pois isso nos ajudará a desenvolver programas alterando dinamicamente o array.
Conclusão
Matrizes de string são matrizes especiais que possuem dados como strings. Isso significa que cada elemento da matriz é uma string terminada por um caractere nulo.
Discutimos três representações de uma matriz de string em detalhes, juntamente com seus prós e contras. Dependendo de nossos requisitos; podemos usar qualquer representação do array string que se adapte à nossa implementação.
Em nossos tutoriais subsequentes, continuaremos explorando strings C ++ e funções C ++ em detalhes.
=> Leia a série de treinamento Easy C ++.
Leitura recomendada
- Tutorial de comprimento de array Java com exemplos de código
- Tutorial Java String com String Buffer e String Builder
- Tutorial de string C # - Métodos de string com exemplos de código
- Funções de string Python
- Arrays C ++ com exemplos
- Strings em C ++ com exemplos
- Número aleatório C # e gerador de string aleatório C # com exemplos de código
- Classificação de heap em C ++ com exemplos


