Jaka jest różnica między stałą łańcuchową a stałą znakową?


Najlepsza odpowiedź

Stała łańcuchowa to zestaw znaków ujęty w podwójne cudzysłowy.

Na przykład „witaj” . To jest ciąg.

Teraz stała znakowa oznacza pojedynczą literę lub znak, w tym wszystkie znaki alfanumeryczne (AZ, az, 0-9) i inne znaki, takie jak *, #,!, €, $, @, & .. itd. są reprezentowane przez pojedynczy cudzysłów.

Na przykład, c „, 1”, *, # i tak dalej.

Podstawowa różnica między ciągiem a znakiem to ta stała znakowa może być reprezentowana tylko jako pojedyncza jednostka, podczas gdy stała łańcuchowa to tablica znaków ze znakiem null na końcu ciągu.

Odpowiedź

Stałe odnoszą się do stałych wartości że program nie może zmienić i nazywane są literałami .

Stałe mogą być dowolnego z podstawowych typów danych i można je podzielić na liczby całkowite, liczby zmiennoprzecinkowe, znaki, ciągi znaków i wartości logiczne.

Ponownie, stałe są traktowane jak zwykłe zmienne, z tą różnicą, że ich wartości nie mogą być modyfikowane po ich definicji.

Literały całkowite

Literał liczby całkowitej może być stałą dziesiętną, ósemkową lub szesnastkową. Prefiks określa podstawę lub podstawę: 0x lub 0X dla szesnastkowej, 0 dla ósemkowej i nic dla dziesiętnej.

Literał liczby całkowitej może również mieć sufiks będący kombinacją U i L, dla unsigned i odpowiednio długi. Sufiks może być pisany wielką lub małą literą i może mieć dowolną kolejność.

Oto kilka przykładów literałów całkowitych –

212 // Legal

215u // Legal

0xFeeL // Legal

078 // Illegal: 8 is not an octal digit

032UU // Illegal: cannot repeat a suffix

Poniżej znajdują się inne przykłady różnych typów literałów całkowitych –

85 // decimal

0213 // octal

0x4b // hexadecimal

30 // int

30u // unsigned int

30l // long

30ul // unsigned long

Literały zmiennoprzecinkowe

Literał zmiennoprzecinkowy ma część całkowitą, przecinek dziesiętny, część ułamkową i część wykładniczą. Możesz przedstawić literały zmiennoprzecinkowe w formie dziesiętnej lub wykładniczej.

Przedstawiając przy użyciu postaci dziesiętnej, musisz uwzględnić kropkę dziesiętną, wykładnik lub oba te elementy, a reprezentując postać wykładniczą, musisz uwzględnić część całkowita, część ułamkowa lub obie. Wykładnik ze znakiem jest wprowadzany przez e lub E.

Oto kilka przykładów literałów zmiennoprzecinkowych –

3.14159 // Legal

314159E-5L // Legal

510E // Illegal: incomplete exponent

210f // Illegal: no decimal or exponent

.e55 // Illegal: missing integer or fraction

Literały boolowskie

Istnieją dwa literały logiczne i są one częścią standardowych słów kluczowych C ++ –

  • Wartość true reprezentuje prawdę .
  • Wartość false oznacza fałsz.

Nie należy brać pod uwagę wartości true równa 1, a wartość fałszu równa 0.

Literały znakowe

Literały znakowe są zawarte w pojedynczych cytaty. Jeśli literał zaczyna się od L (tylko wielkie litery), jest to literał szerokiego znaku (np. L „x”) i powinien być przechowywany w zmiennej wchar\_t . W przeciwnym razie jest to wąski literał znakowy (np. „X”) i może być przechowywany w prostej zmiennej typu char .

Literał znakowy może być zwykłym znakiem (np. „X”), sekwencją ucieczki (np. „\ T”) lub znakiem uniwersalnym (np. „\ U02C0”).

Istnieją niektóre znaki w C ++ poprzedzone odwrotnym ukośnikiem będą miały specjalne znaczenie i są używane do reprezentowania jak nowa linia (\ n) lub tabulator (\ t). Tutaj masz listę niektórych z takich kodów sekwencji ucieczki –

Sekwencja ucieczki

Znaczenie

\\

\ znak

\ „

” znak

\ „

” znak

\?

? znak

\ a

Alarm lub dzwonek

\ b

Backspace

\ f

Kanał formularza

\ n

Nowa linia

\ r

Powrót karetki

\ t

Tabulator poziomy

\ v

Tabulator pionowy

\ ooo

Liczba ósemkowa składająca się z jednej do trzech cyfr

\ xhh. . .

Liczba szesnastkowa składająca się z jednej lub więcej cyfr

Aby uzyskać więcej informacji, możesz również obejrzeć poniższy film.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *