Разница между strlen() и sizeof() для строки в C
Что такое 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() — целое число без знака.
Синтаксис strlen()
strcount = strlen(my_string);
Здесь my_string — это переменная массива символов.
Пример функции strlen()
В приведенной ниже программе C мы объявили строковую переменную типа char. Переменная Strng передается в качестве аргумента функции strlen() для определения длины строки.
#include<stdio.h> #include<string.h> 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): Type=ссылочный тип
Пример sizeof(type):
В приведенном ниже коде &type дает адрес переменной (двойной x). Он увеличивается на 1, что дает адрес, по которому вы можете сохранить следующую переменную типа x.
Приведение x к типу char* и получение разницы позволит вам узнать общее количество переменных типа char, хранящихся в памяти. Мы использовали getchar() для чтения символа.
#include<stdio.h> #define my_sizeof(type) (char *)(&type+1)-(char*)(&type) int main() { double x; printf("%ld", my_sizeof(x)); getchar(); return 0; }
вывод:
8
Синтаксис 2)
sizeof(имя-переменной): Variable-name=имя переменной, размер которой вы хотите определить.
В приведенной ниже программе C мы печатаем тип данных size char. Оператор Printf содержит функцию sizeof с аргументом char.
Пример sizeof(имя-переменной):
#include<stdio.h> int main() { printf("sizeof(char) = %d\n\n", sizeof(char)); return 0; }
Вывод:
sizeof(char) = 1
Синтаксис 3)
sizeof(выражение): Expression=выражение, которое вы должны вычислить.
Пример sizeof(expression):
В приведенной ниже программе мы сначала вычисляем и печатаем размер переменной. После этого мы оцениваем выражение, сохраняем его в переменной a и отображаем результат в операторе printf.
#include<stdio.h> int 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 : 1 Size of an expression : 8 Size of explicitly converted expression : 4
Разница между strlen() и sizeof()
Вот важные различия между strlen() и sizeof():
Язык C
- Разница между асбестом и стекловолокном
- Разница между структурой и объединением
- С# против. C++:в чем разница между C# и C++?
- Разница между С и С++
- Разница между C и Java
- Python против JavaScript:разница между JavaScript и Python
- Python против Ruby:разница между Ruby и Python
- Разница между двигателями постоянного и переменного тока
- Разница между пайкой и пайкой
- Разница между 2-тактным и 4-тактным двигателями