用指针给一个数组赋值,并打印。(指针)设计C语言程序
时间: 2023-11-02 17:52:15 浏览: 92
下面是一个使用指针给数组赋值并打印的示例程序:
```c
#include <stdio.h>
#define SIZE 5
int main() {
int arr[SIZE];
int *ptr = arr; // 指向数组的指针
// 给数组赋值
for (int i = 0; i < SIZE; i++) {
*(ptr + i) = i + 1;
}
// 打印数组
for (int i = 0; i < SIZE; i++) {
printf("%d ", *(ptr + i));
}
printf("\n");
return 0;
}
```
运行结果:
```
1 2 3 4 5
```
在这个示例中,我们首先定义了一个大小为5的整型数组`arr`。然后,我们使用指针`ptr`指向数组的首地址。通过循环遍历数组的每个元素,使用指针对数组进行赋值操作。最后,再次通过循环遍历数组,使用指针打印数组的每个元素。
相关问题
数组赋值给另一个数组c语言,指针
在 C 语言中,可以使用指针来将一个数组赋值给另一个数组。以下是一个示例:
```c
#include <stdio.h>
int main() {
int arr1[5] = {1, 2, 3, 4, 5}; // 定义数组 arr1
int arr2[5]; // 定义数组 arr2
int *p1 = arr1; // 定义指针 p1 指向数组 arr1
int *p2 = arr2; // 定义指针 p2 指向数组 arr2
for (int i = 0; i < 5; i++) {
*(p2 + i) = *(p1 + i); // 将数组 arr1 的值赋给数组 arr2
}
// 打印数组 arr2 的值
for (int i = 0; i < 5; i++) {
printf("%d ", arr2[i]);
}
printf("\n");
return 0;
}
```
在上述代码中,首先定义了两个数组 `arr1` 和 `arr2`,以及两个指针 `p1` 和 `p2`。然后,通过指针将数组 `arr1` 的值赋给数组 `arr2`。最后,使用循环打印数组 `arr2` 的值。
用c语言指针实现一个结构体数组对另一个结构体数组的赋值
以下是用C语言指针实现一个结构体数组对另一个结构体数组的赋值的示例代码:
```c
#include <stdio.h>
#include <string.h>
struct student {
int num;
char name[10];
char sex;
double height;};
int main() {
struct student stus1[3] = {{1001, "Tom", 'M', 1.75}, {1002, "Jerry", 'F', 1.65}, {1003, "Mike", 'M', 1.80}};
struct student stus2[3];
struct student *p1, *p2;
p1 = stus1;
p2 = stus2;
memcpy(p2, p1, sizeof(stus1));
for (int i = 0; i < 3; i++) {
printf("stus2[%d]: num=%d, name=%s, sex=%c, height=%.2f\n", i, (p2+i)->num, (p2+i)->name, (p2+i)->sex, (p2+i)->height);
}
return 0;
}
```
解释如下:
1. 定义了一个结构体`student`,包含学号、姓名、性别和身高四个成员变量。
2. 定义了两个结构体数组`stus1`和`stus2`,分别用于存储学生信息。
3. 定义了两个指向结构体的指针`p1`和`p2`,并将`p1`指向`stus1`数组的首元素,将`p2`指向`stus2`数组的首元素。
4. 使用`memcpy`函数将`stus1`数组中的数据复制到`stus2`数组中。
5. 使用指针遍历`stus2`数组,并输出每个学生的信息。