C语言,用指针的方式给数组整体赋值
时间: 2024-12-04 21:28:05 浏览: 20
在C语言中,可以使用指针来一次性给数组所有元素赋值,通常通过循环结构来实现。假设有一个整型数组`int arr[5]`,你可以这样做:
```c
#include <stdio.h>
void fillArray(int* arr, int size) {
// 初始化一个变量作为指针,指向数组的第一个元素
int* ptr = arr;
// 使用for循环,每次迭代将相同的值赋给当前指针所指向的位置,然后移动指针到下一个位置
for (int i = 0; i < size; i++) {
*ptr = 10; // 这里将值10赋予指针所指向的位置
ptr++; // 指针后移,指向下一个元素
}
}
int main() {
int arr[5];
fillArray(arr, sizeof(arr) / sizeof(arr[0])); // 传递数组地址和大小
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]); // 打印确认数组已被赋值
}
return 0;
}
```
在这个例子中,`fillArray`函数接受一个指向数组起始位置的指针和数组的长度,然后遍历数组并将固定值10赋给每个元素。
相关问题
c语言给数组整体赋值
C语言中可以使用可变参数函数和va_list来实现给数组整体赋值。具体实现方法可以参考以下代码:
void setArray(int arr[], ...) {
int length = sizeof(arr) / sizeof(int); //获取该数组的长度
va_list val;
va_start(val, arr);
for (int i = 0; i < length; i++) {
arr[i] = va_arg(val, int); //给每个元素赋值
}
va_end(val);
}
以上代码中,setArray函数接收一个整型数组和可变参数,通过va_list遍历可变参数并将值赋给数组中的每个元素。
需要注意的是,sizeof(arr)返回的是指针的大小,而不是数组的大小。因此需要除以sizeof(int)来获取数组的长度。
另外,如果要给数组整体赋值,也可以使用循环遍历数组并逐个赋值的方法。
c语言把数组赋值给指针
在C语言中,可以通过将数组名作为指针使用来把数组赋值给指针。例如:
```c
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 将数组名作为指针使用
```
以上代码中,`ptr`指向数组`arr`的第一个元素`1`,可以通过指针来访问数组中的元素。注意,数组名本身就代表数组的首地址,因此可以直接将数组名赋值给指针。
阅读全文