关于这两种形式,请举出简洁的使用的例子,以便于更好地理解
时间: 2024-09-17 17:02:56 浏览: 36
Java语言基础-Java基础[02-Java基础语法2]
当然,下面是一些示例来帮助你理解:
**使用 int *temp 的情况:**
```c
void fill_array(int *temp, int size) {
for (int i = 0; i < size; i++) {
temp[i] = i * i;
}
}
int main() {
int my_array[5];
fill_array(my_array, sizeof(my_array)/sizeof(my_array[0]));
// 输出数组:{0, 1, 4, 9, 16}
return 0;
}
```
在这个例子中,`fill_array` 函数接收一个指针作为参数,并且直接修改它所指向的数组元素。
**使用 int temp[] 的情况:**
```c
void print_array(int temp[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", temp[i]);
}
}
int main() {
int array[5] = {0};
print_array(array, sizeof(array)/sizeof(array[0]));
// 输出数组:{0, 0, 0, 0, 0}
return 0;
}
```
在这边,`print_array` 接收一个数组作为参数,内部会按数组的方式遍历每个元素。
两种形式的主要区别在于,前者的灵活性较高,后者在传递时更直观表明是一个数组。
阅读全文