C言語で文字列変数を定義する方法
C言語では、文字列変数は以下のように定義できます。
- 文字配列を用いて文字列変数を定義する:
char str[100]; // 定义一个长度为100的字符数组,用于存储字符串
この方式で定義された文字列変数は直接で文字列代入演算子 (=) を用いて初期化できます。
char str[100] = "Hello, world!"; // 初始化为指定的字符串
- 文字列変数を文字ポインタで定義する:
char *str; // 定义一个字符指针
この方式で定義した文字列変数は、使用前にメモリの領域を割り当て、初期化を行っておく必要があります。例えば:
char *str = "Hello, world!"; // 初始化为指定的字符串常量
- 文字列変数は文字ポインタ配列を用いて定義される
char *str[] = {"Hello", "world"}; // 定义一个字符指针数组,每个元素是一个字符串常量
この方式で定義される文字列変数は文字ポインタの配列で、個々の文字列は文字ポインタであり、複数の文字列を保持することができます。
なお、C言語では文字列はヌル文字\0で終わるので、文字配列で宣言した文字列変数は、ヌル文字格納用の余分な1文字分のスペースを確保しておく必要がある。