Разлика између стрлен () и сизеоф () за низ у Ц.

Шта је стрлен ()

стрлен () је функција за проналажење дужине низа. Броји укупан број знакова који су представљени у низу, елиминишући нулл знак. Укупан број знакова у низу укључује абецеде, посебне знакове и бројеве са празним размацима.

У овој разлици између стрлен () и сизеоф () за стринг у Ц водичу, научићете:

  • Шта је стрлен ()
  • Шта је сизеоф ()
  • Синтакса стрлен ()
  • Синтакса сизеоф ()
  • Разлика између стрлен () и величине ()

Шта је сизеоф ()

Сизеоф () је функција која се користи за израчунавање величине његовог операнда. Враћа величину одређене променљиве. Ова функција се може применити на било који тип података, који садржи примитивне типове као што су целобројни и показивачки типови, типови с помичним зарезом, структура или унија. Излаз програма који садржи сизеоф () може се разликовати на 32-битном систему и 64-битном систему.

КЉУЧНЕ РАЗЛИКЕ:

  • Метода Стрлен користи се за проналажење дужине низа, док се метода сизеоф () користи за проналажење стварне величине података.
  • Стрлен () броји бројеве знакова у низу док сизеоф () враћа величину операнда.
  • Стрлен () тражи нулл вредност променљиве, али сизеоф () не брине о вредности променљиве.
  • Повратна вриједност у стрлен () је дугачка инт, с друге стране повратна вриједност у величини () је непотписана инт.

Синтакса стрлен ()

strcount = strlen(my_string);

Овде је ми_стринг променљива низа знакова.

Пример стрлен ()

У доњем програму Ц прогласили смо стринг променљиву типа цхар. Стрнг променљива је прослеђена као аргумент функције стрлен () за проналажење дужине низа.

#include#includeint main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}

Излаз:

Length of given string is: 7

Синтакса сизеоф ()

Синтакса 1)

сизеоф (типе): Типе = референцирани тип

Пример величине (типа):

У доњем коду & типе даје адресу променљиве (двоструки к). Повећава се са 1 што даје адресу на коју можете да сместите следећу променљиву типа к.

Откуцавање типа к у цхар * и узимање разлике омогућиће вам да знате укупан број променљивих типа цхар ускладиштених у меморији. За читање карактера користили смо гетцхар ().

#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}

излаз:

8

Синтакса 2)

сизеоф (име-променљиве): Вариабле-наме = име променљиве коју желите да одредите величину.

У доњем програму Ц исписујемо тип података величине цхар. Изјава Принтф садржи величину функције са аргументом цхар.

Пример сизеоф (име променљиве):

#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}

Излаз:

sizeof(char) = 1

Синтакса 3)

сизеоф (израз): Израз = Израз који треба да процените.

Пример величине (израза):

У доњем програму прво израчунавамо и исписујемо величину променљиве. Након овога, процењујемо израз, чувамо га у променљивој а и приказујемо резултат у наредби принтф.

#includeint main() {char p = 'S';double q = 4.65;printf("Size of variable p : %d\n",sizeof(p));printf("Size of an expression : %d\n",sizeof(p+q));int a = (int)(p+q);printf("Size of explicitly converted expression : %d\n",sizeof(a));return 0;}

Излаз:

Size of variable p : 1Size of an expression : 8Size of explicitly converted expression : 4

Разлика између стрлен () и величине ()

Ево важних разлика између стрлен () и сизеоф ():

Стрлен () Величина()
Стрлен () је унапред дефинисана функција која је дефинисана у заглавној датотеци познатој као стринг.х. Сизеоф () је унарни оператор или израз компајлирања који израчунава количину меморије коју заузима променљива.
Ова метода се користи за проналажење дужине низа низа или карактера. Ова метода се користи за проналажење стварне величине података (додељених) у бајтовима.
Броји бројеве знакова у низу елиминишући нулл вредности. Враћа величину операнда, а не дужину низа (укључујући нулл вредности).
Додељује меморију током извођења и тражи нулу вредности променљиве. Сизеоф () не мари за вредност променљиве.
Функција Стрлен () ради само са низовима знакова Функција Сизеоф () враћа количину меморије додељене у бајтовима.
Повратна вредност у стрлен () је дугачка инт. Повратна вредност у сизеоф () је непотписана инт.
Постоји само једна синтакса стрлен () која је инт стрлен (цонст цхар * стр); Постоје три синтаксе сизеоф () 1) сизеоф (типе), 2) сизеоф (име променљиве) и 3) сизеоф (израз):

Занимљиви Чланци...