Во время нашего обсуждения символов мы узнали, что символьный тип данных имеет дело с одним символом, и вы можете назначить любой символ на клавиатуре переменной символьного типа.
Теперь давайте продвинемся немного вперед и рассмотрим ситуацию, когда нам нужно хранить более одного символа в переменной. Мы видели, что программирование на C не позволяет хранить более одного символа в переменной символьного типа. Таким образом, следующие утверждения недопустимы в программировании на C и вызывают синтаксические ошибки:
char ch1 = 'ab'; char ch2 = '10';
Мы также видели, как использовать концепцию массивов для хранения в переменной более одного значения схожего типа данных. Вот синтаксис для хранения и печати пяти чисел в массиве типа int —
#include <stdio.h> main() { int number[5] = {10, 20, 30, 40, 50}; int i = 0; while( i < 5 ) { printf("number[%d] = %d\n", i, number[i] ); i = i + 1; } }
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
number[0] = 10 number[1] = 20 number[2] = 30 number[3] = 40 number[4] = 50
Теперь давайте определим массив из пяти символов таким же образом, как мы это делали для чисел, и попробуем напечатать их.
#include <stdio.h> main() { char ch[5] = {'H', 'e', 'l', 'l', 'o'}; int i = 0; while( i < 5 ) { printf("ch[%d] = %c\n", i, ch[i] ); i = i + 1; } }
Здесь мы использовали% c для печати значения символа. Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
ch[0] = H ch[1] = e ch[2] = l ch[3] = l ch[4] = o
Если вы закончили с приведенным выше примером, то, я думаю, вы поняли, как работают строки в программировании на C, потому что строки в C представлены в виде массивов символов . C программирование упростило назначение и печать строк. Давайте проверим тот же пример еще раз с упрощенным синтаксисом —
#include <stdio.h> main() { char ch[5] = "Hello"; int i = 0; /* Print as a complete string */ printf("String = %s\n", ch); /* Print character by character */ while( i < 5 ) { printf("ch[%d] = %c\n", i, ch[i] ); i = i + 1; } }
Здесь мы использовали% s, чтобы напечатать полное строковое значение, используя имя массива ch , которое фактически является началом адреса памяти, содержащего переменную ch, как показано ниже —
Хотя это не видно из приведенных выше примеров, программа на С внутренне присваивает нулевой символ ‘\ 0’ в качестве последнего символа каждой строки. Это указывает на конец строки, и это означает, что если вы хотите сохранить 5-символьную строку в массиве, то вы должны определить размер массива 6 как хорошую практику, хотя C не жалуется на это.
Если приведенный выше код скомпилирован и выполнен, он дает следующий результат —
String = Hello ch[0] = H ch[1] = e ch[2] = l ch[3] = l ch[4] = o
Основные понятия строки
На основании приведенного выше обсуждения мы можем сделать следующие важные замечания о строках в языке программирования C:
-
Строки в C представлены как массивы символов.
-
Мы можем составить строку в C-программировании, присваивая символ за символом в массив символов.
-
Мы можем составить строку в C-программировании, назначив полную строку, заключенную в двойные кавычки.
-
Мы можем напечатать символ за строкой, используя индекс массива или полную строку, используя имя массива без индекса.
-
Последний символ каждой строки является нулевым символом, то есть ‘\ 0’ .
-
Большинство языков программирования предоставляют встроенные функции для работы со строками, то есть вы можете объединять строки, вы можете искать из строки, вы можете извлекать подстроки из строки и т. Д. Более подробную информацию вы можете найти в нашем подробном руководстве по C программирование или любой другой язык программирования.
Строки в C представлены как массивы символов.
Мы можем составить строку в C-программировании, присваивая символ за символом в массив символов.
Мы можем составить строку в C-программировании, назначив полную строку, заключенную в двойные кавычки.
Мы можем напечатать символ за строкой, используя индекс массива или полную строку, используя имя массива без индекса.
Последний символ каждой строки является нулевым символом, то есть ‘\ 0’ .
Большинство языков программирования предоставляют встроенные функции для работы со строками, то есть вы можете объединять строки, вы можете искать из строки, вы можете извлекать подстроки из строки и т. Д. Более подробную информацию вы можете найти в нашем подробном руководстве по C программирование или любой другой язык программирования.
Строки в Java
Хотя вы можете использовать массивы символов для хранения строк, но Java является продвинутым языком программирования, и его разработчики постарались обеспечить дополнительную функциональность. Java предоставляет строки как встроенный тип данных, как и любой другой тип данных. Это означает, что вы можете определять строки напрямую, а не определять их как массив символов.
Ниже приводится эквивалентная программа, написанная на Java. Java использует оператор new для создания строковых переменных, как показано в следующей программе.
Вы можете попробовать выполнить следующую программу, чтобы увидеть результат —
public class DemoJava { public static void main(String []args) { String str = new String("Hello"); System.out.println( "String = " + str ); } }
Когда вышеуказанная программа выполняется, она дает следующий результат —
String = Hello
Строки в Python
Создание строк в Python так же просто, как присвоение строки в переменную Python с использованием одинарных или двойных кавычек.
Ниже приведена простая программа, которая создает две строки и печатает их с помощью функции print () —
var1 = 'Hello World!' var2 = "Python Programming" print "var1 = ", var1 print "var2 = ", var2
Когда вышеуказанная программа выполняется, она дает следующий результат —
var1 = Hello World! var2 = Python Programming
Python не поддерживает тип символов; они обрабатываются как строки длины один, таким образом также считаются подстрокой.
Чтобы получить доступ к подстрокам, используйте квадратные скобки для нарезки вместе с индексом или индексами, чтобы получить вашу подстроку. Взгляните на следующий сегмент кода —
var1 = 'Hello World!' var2 = "Python Programming" print "var1[0]: ", var1[0] print "var2[1:5]: ", var2[1:5]
Когда приведенный выше код выполняется, он дает следующий результат —