函数形参输入数组为什么用指针
时间: 2024-05-21 22:14:14 浏览: 10
函数形参输入数组为什么要使用指针的原因是,数组在内存中是连续存储的一块数据区域,使用指针可以避免对数组进行复制操作,提高程序的运行效率。同时,使用指针还可以进行指针运算操作,方便对数组的元素进行访问、修改等操作。此外,使用指针还可以避免因数组大小限制而带来的一些问题。因此,指针是处理数组数据时的一种重要的数据类型。
相关问题
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度(第8章第6题) 分别用以下两种情况处理: (1) 函数形参用(2) 函数形参用数组名指针变量
函数形参用指针:
```c++
#include <iostream>
using namespace std;
int strLength(char* str) {
int length = 0;
while (*str != '\0') {
length++;
str++;
}
return length;
}
int main() {
char str[100];
cout << "请输入一个字符串:" << endl;
cin.getline(str, 100);
cout << "该字符串的长度为:" << strLength(str) << endl;
return 0;
}
```
函数形参用数组名指针变量:
```c++
#include <iostream>
using namespace std;
int strLength(char str[]) {
int length = 0;
while (str[length] != '\0') {
length++;
}
return length;
}
int main() {
char str[100];
cout << "请输入一个字符串:" << endl;
cin.getline(str, 100);
cout << "该字符串的长度为:" << strLength(str) << endl;
return 0;
}
```
C语言程序3)写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。 分别在程序中按以下两种情况处理: 1、 函数形参用指针变量。 2、 函数形参用数组名。 作分析比较,掌握其规律。
1. 函数形参用指针变量的实现:
```c
#include <stdio.h>
int str_len(char *str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = str_len(str);
printf("字符串的长度为:%d\n", len);
return 0;
}
```
2. 函数形参用数组名的实现:
```c
#include <stdio.h>
int str_len(char str[]) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = str_len(str);
printf("字符串的长度为:%d\n", len);
return 0;
}
```
两种实现方式的本质是一样的,都是通过遍历字符串中的字符来计算字符串的长度。但是,它们的形式略有不同,函数形参用指针变量的方式更加直观,而函数形参用数组名的方式更加常见。在实际开发中,我们应该根据需要选择合适的方式。