Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

Cの文字列のstrlen()とsizeof()の違い


strlen()

関数strlen()は、C言語で事前定義された関数です。これは「string.h」ヘッダーファイルで宣言されています。配列または文字列の長さを取得するために使用されます。

これがC言語でのstrlen()の構文です

size_t strlen(const char *string);

ここで

文字列 −長さが計算される文字列。

これがC言語のstrlen()の例です

#include <stdio.h>
#include <string.h>
int main () {
   char s1[10] = "Hello";
   int len ;
   len = strlen(s1);
   printf("Length of string s1 : %d\n", len );
   return 0;
}

出力

Length of string s1 : 10

上記の例では、char型の配列s1は文字列で初期化され、変数lenはs1の長さを格納しています。

char s1[10] = "Hello";
int len ;
len = strlen(s1);

sizeof()

関数sizeof()は、C言語の単項演算子であり、任意のタイプのデータのサイズをバイト単位で取得するために使用されます。

C言語でのsizeof()の構文は次のとおりです。

sizeof( type );

ここで

タイプ −サイズを計算する任意の型またはデータ型または変数。

これがC言語のsizeof()の例です

#include <stdio.h>
int main() {
int a = 16;
   printf("Size of variable a : %d\n",sizeof(a));
   printf("Size of int data type : %d\n",sizeof(int));
   printf("Size of char data type : %d\n",sizeof(char));
   printf("Size of float data type : %d\n",sizeof(float));
   printf("Size of double data type : %d\n",sizeof(double));
   return 0;
}

出力

Size of variable a : 4
Size of int data type : 4
Size of char data type : 1
Size of float data type : 4
Size of double data type : 8

  1. Javaの文字列バッファと文字列ビルダーの違い

    文字列バッファとStringBuilderはどちらも可変クラスであり、文字列の反転、文字列の連結などの文字列オブジェクトの操作を実行できます。文字列の新しいオブジェクトを作成せずに文字列を変更できます。文字列バッファはスレッドセーフですが、文字列ビルダーはスレッドセーフではありません。したがって、文字列バッファよりも高速です。また、string concat +演算子は、内部でStringBufferまたはStringBuilderクラスを使用します。違いは次のとおりです。 Sr。いいえ。 キー 文字列バッファ 文字列ビルダー 1 基本 StringBufferは、J

  2. OneNoteとOneNoteforWindows10の違い

    Windows10には無料バージョンのOneNoteアプリが付属しています OneNote for Windows 10と呼ばれます これにより、複数のアクションを実行できます。たとえば、OneDrive(複数のデバイスの個人アカウントとビジネスアカウントの両方)と同期したり、手書きのメモを検索したり、コンテンツをOneNoteに電子メールで送信したりできます。別の名前のOneNoteの別のバージョンもあります–OneNoteデスクトップソフトウェア またはOneNote2016 。ここで尋ねる価値のある質問は、なぜ同じ名前の2つの異なるアプリがあるのか​​、そして後者は前者とどのように違