Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Разница между strlen() и sizeof() для строки в C

Что такое strlen()

strlen() — это функция для определения длины строки. Он подсчитывает общее количество символов, представленных в строке, исключая нулевой символ. Общее количество символов в строке включает алфавиты, специальные символы и цифры с пробелами.

В этой разнице между strlen() и sizeof() для строки в учебнике C вы узнаете:

Что такое sizeof()

Функция sizeof() используется для вычисления размера операнда. Он возвращает размер конкретной переменной. Эта функция может применяться к любому типу данных, содержащему примитивные типы, такие как целые числа и типы указателей, типы с плавающей запятой, структуры или объединения. Вывод программы, содержащей sizeof(), может отличаться в 32-битной и 64-битной системах.

КЛЮЧЕВЫЕ ОТЛИЧИЯ:

Синтаксис 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():

Стрлен() Размер() Strlen() — это предопределенная функция, которая определена в заголовочном файле, известном как string.h.Sizeof() — это унарный оператор или выражение времени компиляции, которое вычисляет объем памяти, занимаемой переменной. Этот метод используется для найти длину массива строк или символов. Этот метод используется для определения фактического размера данных (выделенных) в байтах. Он подсчитывает количество символов в строке, исключая нулевые значения. Он возвращает размер операнда, а не длина строки (включая нулевые значения). Он выделяет память во время выполнения и ищет нулевое значение переменной. Sizeof () не заботится о значении переменной. Функция Strlen () работает только с символьными строками. Функция Sizeof () возвращает сумму памяти, выделенной в байтах. Возвращаемое значение в strlen () — длинное целое. Возвращаемое значение в sizeof () — беззнаковое целое. Существует только один синтаксис strlen () — int strlen (const char *str); of sizeof() 1) sizeof(type), 2) sizeof(имя-переменной) и 3) sizeof(expres сион):

Язык C

  1. Разница между асбестом и стекловолокном
  2. Разница между структурой и объединением
  3. С# против. C++:в чем разница между C# и C++?
  4. Разница между С и С++
  5. Разница между C и Java
  6. Python против JavaScript:разница между JavaScript и Python
  7. Python против Ruby:разница между Ruby и Python
  8. Разница между двигателями постоянного и переменного тока
  9. Разница между пайкой и пайкой
  10. Разница между 2-тактным и 4-тактным двигателями