一、字符数组和字符指针的区别
1.定义方式不同
字符数组的定义方式为
char str[10];
字符指针的定义方式为
char str;
2.内存分配方式不同
字符数组在定义时就已经分配了内存空间,而字符指针则需要在使用前动态分配内存空间。
3.修改方式不同
字符数组的内容可以直接修改,而字符指针指向的内容需要通过指针来修改。
4.传递方式不同
字符数组作为参数传递给函数时,传递的是整个数组。而字符指针作为参数传递给函数时,传递的是指针所指向的地址。
二、如何输入字符串数组
f函数和gets函数。
f函数输入字符串数组
f函数可以使用%s格式符来输入字符串数组,示例代码如下
char str[10];f(“%s”, str);
上述代码中,%s格式符表示输入一个字符串,str表示输入的字符串存储在字符数组str中。
f函数输入字符串数组时需要注意以下几点
(1)输入的字符串长度不能超过字符数组的长度。
f函数会忽略空格和换行符,只会读取到个空格或换行符为止。
f函数不会在字符串末尾添加空字符’\0’,需要手动添加。
2.使用gets函数输入字符串数组
gets函数可以输入整行字符串,示例代码如下
char str[10];
gets(str);
上述代码中,gets函数会读取整个输入行,包括空格和换行符,并将其存储在字符数组str中。
但是,使用gets函数输入字符串数组时需要注意以下几点
(1)输入的字符串长度不能超过字符数组的长度。
(2)gets函数会在字符串末尾自动添加空字符’\0’。
(3)gets函数不会忽略空格和换行符,会将其全部读取。
f函数和gets函数,但是需要注意它们的输入方式和注意事项。