ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScript に memset 関数はありますか?

JavaScript に memset 関数はありますか?

WBOY
リリース: 2022-03-24 14:17:21
オリジナル
1986 人が閲覧しました

JavaScript には memset() 関数はありません。memset() 関数は、「C/C」言語の初期化関数です。その機能は、特定のメモリ内のすべての内容を指定された値に設定することです。通常、新規アプリケーション用の関数ですが、メモリが初期化されるため、JavaScript ではこの関数を使用できません。

JavaScript に memset 関数はありますか?

このチュートリアルの動作環境: Windows 10 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript には memset 関数はありますか?

JavaScript には memset() 関数はありません

memset はコンピュータの C/C 言語の初期化関数です。その機能は、特定のメモリ内のすべての内容を指定された値に設定することであり、通常、この関数は新しく要求されたメモリを初期化します。

void *memset(void *s, int ch, size_t n);
ログイン後にコピー

関数の説明: s の現在位置に続く n バイト (typedef unsigned int size_t) を ch に置き換えて、s を返します。

memset: この関数は、メモリ ブロックに指定された値を埋めることであり、より大きな構造体または配列をクリアする最速の方法です [1]。

memset() 関数のプロトタイプは extern void *memset(void *buffer, int c, int count)buffer: はポインタまたは配列、c: はバッファに割り当てられた値、count: は長さですバッファの .

以下のプログラムを作成します。

# include <stdio.h>
# include <string.h>
int main(void)
{
    int i;  //循环变量
    char str[10];
    char *p = str;
    memset(str, 0, sizeof(str));  //只能写sizeof(str), 不能写sizeof(p)
    for (i=0; i<10; ++i)
    {
        printf("%d\x20", str[i]);
    }
    printf("\n");
    return 0;
}
ログイン後にコピー

memset 関数の違いに応じて、出力結果も異なり、次の状況に分けられます。

memset(p, 0, sizeof(p));  //地址的大小都是4字节
0 0 0 0 -52 -52 -52 -52 -52 -52
memset(p, 0, sizeof(*p));  //*p表示的是一个字符变量, 只有一字节
0 -52 -52 -52 -52 -52 -52 -52 -52 -52
memset(p, 0, sizeof(str));
0 0 0 0 0 0 0 0 0 0
memset(str, 0, sizeof(str));
0 0 0 0 0 0 0 0 0 0
memset(p, 0, 10);  //直接写10也行, 但不专业
0 0 0 0 0 0 0 0 0 0
ログイン後にコピー

関連する推奨事項: JavaScript 学習チュートリアル

以上がJavaScript に memset 関数はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート