如何将指针p的值赋值给数组1
时间: 2023-10-09 13:07:42 浏览: 48
您可以使用循环将指针 p 指向的值逐个赋值给数组1的元素。以下是一个示例代码:
```c
int *p; // 假设指针 p 已经指向一块内存
int array1[10]; // 定义一个大小为10的数组1
for (int i = 0; i < 10; i++) {
array1[i] = *(p + i); // 将指针 p 的值赋值给数组1的元素
}
```
在循环中,通过 `*(p + i)` 可以得到指针 p 偏移 i 个位置的值,然后将其赋值给数组1的第 i 个元素。这样,数组1就存储了指针 p 的值。请注意,这种方式假设数组1和指针p都是合法的,并且指针p指向的内存块包含足够的元素,以填充整个数组1。
相关问题
用指针的形式给数组赋值
可以使用指针遍历数组并给数组元素赋值,示例如下:
```c
#include <stdio.h>
int main() {
int arr[5];
int *p = arr; // 指针指向数组首元素
for(int i = 0; i < 5; i++) {
*p = i; // 给当前指向的元素赋值
p++; // 指针指向下一个元素
}
for(int i = 0; i < 5; i++) {
printf("%d ", arr[i]); // 输出数组元素
}
return 0;
}
```
输出结果为:`0 1 2 3 4`。
数组赋值给指针
可以将数组的首地址赋值给指针变量,这样指针变量就可以指向该数组。例如:
```
int arr[5] = {1, 2, 3, 4, 5};
int *p = arr; // 将数组的首地址赋值给指针变量p
```
这样,指针变量p就指向了数组arr的第一个元素1的内存地址。可以通过*p、*(p+1)等方式访问该数组的元素。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)