Что такое strlen ()
strlen () - это функция для определения длины строки. Он подсчитывает общее количество символов, представленных в строке, исключая нулевой символ. Общее количество символов в строке включает алфавиты, специальные символы и числа с пробелами.
В этой разнице между strlen () и sizeof () для строки в учебнике C вы узнаете:
- Что такое strlen ()
- Что такое sizeof ()
- Синтаксис strlen ()
- Синтаксис sizeof ()
- Разница между strlen () и sizeof ()
Что такое sizeof ()
Sizeof () - это функция, которая используется для вычисления размера своего операнда. Он возвращает размер конкретной переменной. Эта функция может применяться к любому типу данных, содержащему примитивные типы, такие как целые числа и типы указателей, типы с плавающей запятой, структуру или объединение. Вывод программы, содержащей sizeof (), может отличаться в 32-битной и 64-битной системах.
КЛЮЧЕВЫЕ ОТЛИЧИЯ:
- Метод Strlen используется для определения длины массива, тогда как метод sizeof () используется для определения фактического размера данных.
- Strlen () подсчитывает количество символов в строке, а sizeof () возвращает размер операнда.
- Strlen () ищет нулевое значение переменной, но sizeof () не заботится о значении переменной.
- Возвращаемое значение в strlen () - long int, с другой стороны, возвращаемое значение в sizeof () - unsigned int.
Синтаксис strlen ()
strcount = strlen(my_string);
Здесь my_string - это переменная массива символов.
Пример strlen ()
В приведенной ниже программе на C мы объявили строковую переменную типа char. Переменная strng передается в качестве аргумента функции strlen () для определения длины строки.
#include#include int main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}
Выход:
Length of given string is: 7
Синтаксис sizeof ()
Синтаксис 1)
sizeof (тип): Type = ссылочный тип
Пример sizeof (тип):
В приведенном ниже коде & type дает адрес переменной (двойной x). Он увеличивается на 1, что дает адрес, по которому вы можете сохранить следующую переменную типа x.
Приведение x к типу char * и учет разницы позволит вам узнать общее количество переменных типа char, хранящихся в памяти. Мы использовали getchar () для чтения символа.
#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}
выход:
8
Синтаксис 2)
sizeof (имя-переменной): имя-переменной = имя переменной, размер которой вы хотите определить.
В приведенной ниже программе на C мы печатаем тип данных size char. Оператор Printf содержит функцию sizeof с аргументом char.
Пример sizeof (имя-переменной):
#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}
Выход:
sizeof(char) = 1
Синтаксис 3)
sizeof (выражение): Expression = Выражение, которое необходимо оценить.
Пример sizeof (выражение):
В приведенной ниже программе мы сначала вычисляем и печатаем размер переменной. После этого мы оцениваем выражение, сохраняем его в переменной a и отображаем результат в операторе printf.
#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
Разница между strlen () и sizeof ()
Вот важные различия между strlen () и sizeof ():
Стрлен () | Размер() |
Strlen () - это предопределенная функция, которая определена в файле заголовка, известном как string.h. | Sizeof () - это унарный оператор или выражение времени компиляции, которое вычисляет объем памяти, занятой переменной. |
Этот метод используется для определения длины массива строки или символа. | Этот метод используется для определения фактического размера данных (выделенных) в байтах. |
Он подсчитывает количество символов в строке, исключая нулевые значения. | Он возвращает размер операнда, а не длину строки (включая нулевые значения). |
Он выделяет память во время выполнения и ищет нулевое значение переменной. | Sizeof () не заботится о значении переменной. |
Функция Strlen () работает только с символьными строками | Функция Sizeof () возвращает объем выделенной памяти в байтах. |
Возвращаемое значение в strlen () - long int. | Возвращаемое значение в sizeof () - целое число без знака. |
Есть только один синтаксис strlen (): int strlen (const char * str); | Существует три синтаксиса sizeof () 1) sizeof (тип), 2) sizeof (имя-переменной) и 3) sizeof (выражение): |