Как присвоить значение char c
Перейти к содержимому

Как присвоить значение char c

  • автор:

char (Справочник по C#)

Ключевое слово типа char — это псевдоним для типа структуры System.Char .NET, представляющий символ UTF-16 в Юникоде.

Type Диапазон Размер Тип .NET
char От U+0000 до U+FFFF 16 разрядов System.Char

Значение по умолчанию для типа char — \0 , то есть U+0000.

Тип char поддерживает сравнение, проверку равенства, а также операции инкремента и декремента. Кроме того, для операндов char арифметические и побитовые логические операторы выполняют операцию с соответствующими кодами символов и создают результат типа int .

Тип string представляет текст как последовательность значений char .

Литералы

Значение char можно указать следующим образом:

  • символьный литерал;
  • escape-последовательность Юникода, то есть символы \u , за которыми следует шестнадцатеричное представление кода символа из четырех символов;
  • шестнадцатеричная escape-последовательность, то есть символы \x , за которыми следует шестнадцатеричное представление кода символа.
var chars = new[] < 'j', '\u006A', '\x006A', (char)106, >; Console.WriteLine(string.Join(" ", chars)); // output: j j j j 

Как показано в предыдущем примере, можно также привести значение кода символа к соответствующему значению char .

В случае escape-последовательности Юникода необходимо указать все четыре шестнадцатеричные цифры. То есть \u006A — допустимая escape-последовательность, а \u06A и \u6A нет.

В случае шестнадцатеричной escape-последовательности начальные нули можно опустить. То есть \x006A , \x06A и \x6A — допустимые escape-последовательности, соответствующие одному символу.

Преобразования

Тип char неявно преобразуется в следующие целочисленные типы: ushort , int , uint , long и ulong . Он также может быть неявно преобразован во встроенные числовые типы с плавающей запятой: float , double и decimal . Он явно преобразуется в целочисленные типы sbyte , byte и short .

Неявные преобразования из других типов в тип char не предусмотрены. Но любой целочисленный тип или числовой тип с плавающей запятой явно преобразуется в char .

Спецификация языка C#

Дополнительные сведения см. в разделе Целочисленные типы в статье Спецификации языка C#.

См. также

  • справочник по C#
  • Типы значений
  • Строки
  • System.Text.Rune
  • Кодировка символов в .NET

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

Как изменить присвоенное значение переменной char?

9f8b1d0e91be4f4bba1fd2dae45ff2cc.PNG

Как изменить значение переменной char в СИ пробовал так .

но не получилось. Ну и желательно объяснить потом почему ибо я ток по сути не дано начал изучать СИ.

  • Вопрос задан более трёх лет назад
  • 1326 просмотров

1 комментарий

Оценить 1 комментарий

Saboteur @saboteur_kiev

1. Желательно чуть больше почитать про типы данных,
2. Желательно выкладывать непосредственно ошибку, которую вам выдает.

Решения вопроса 1

CityCat4

Внимание! Изменился адрес почты!

char string_1[7] = «0»; — так нельзя. Это не Perl, не /bin/sh, где переменные без типа до тех пор, пока не прошло первое присваивание. Массиву символов вообще присвоить в C довольно сложно. Можно например вот так:

char string_1[] = "0"; char string_2[] =< '0'>;

Имя массива — константа. Ее нельзя изменить. Можно взять указатель на нее и с ним работать.
if (string_1 == «00»);
Здесь сразу две ошибки 🙂 Во-первых, компилятор дойдет до ; и посчитает, что if кончился 🙂 , а во-вторых работать со строками так нельзя. Для сравнения строк есть str(n)cmp, memcmp. Код
if (*string_1 == ‘0’);
был бы правильным с точки зрения структур языка, но бессмысленным

Как присвоить переменной char значение слова

@avp Вообще-то, это не стандартная функция. Это POSIX функция. Ей можно пользоваться, но чтобы код компилировался, нужно либо задать макрообъявление, либо опцию компилятора.

12 дек 2016 в 21:47

Ну, Вы даете. И с каких это пор POSIX не стандарт? Вообще, если в gnu есть, то можно пользоваться. А если где-то ее (или какой другой) и не будет, значит самому надо там реализовать.

12 дек 2016 в 22:05
@avp POSIX — не указ C стандарту.:)
12 дек 2016 в 22:13

POSIX — не указ C стандарту.:) О Господи. А вот это : «POSIX (англ. portable operating system interface — переносимый интерфейс операционных систем) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка C и набор приложений и их интерфейсов. » — ничего не значит? Стандарт, в котором оговариваются БИБЛИОТЕКИ С не указ для БИБЛИОТЕК С ?!

13 дек 2016 в 2:43

  • c
  • массивы
  • указатели
  • строковый-литерал

Как присвоить строку перемененной типа char[]?

Я изучаю C (СИ) первую неделю, но все так и непонятна ода деталь. Можете помочь?

0b6f4b33aa294f26af39d7b5b12478f2.PNG

Как присвоить какое либо значению перемененной типу чар,я пробовал так:

  • Вопрос задан более трёх лет назад
  • 3252 просмотра

Комментировать

Решения вопроса 1

Anton3

char s1[7] = «hello»;

  1. Строки нужно заключать в двойные кавычки, а символы в одинарные: ‘h’, но «hello».
  2. Массивы и строки нельзя присваивать. Исключение составляет инициализация.

Ответ написан более трёх лет назад

Нравится 10 1 комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *