C语言指针写值
时间: 2023-07-02 09:19:32 浏览: 52
在 C 语言中,可以通过指针来改变变量的值。例如,如果有一个整型变量 `a`,可以定义一个指向 `a` 的指针 `p`,然后通过 `p` 来修改 `a` 的值。具体的代码如下:
```
int a = 10; // 定义整型变量 a,初始值为 10
int *p = &a; // 定义指向 a 的指针 p
*p = 20; // 通过指针 p 修改 a 的值为 20
printf("%d\n", a); // 输出 a 的值,结果为 20
```
在上面的代码中,`*p` 表示指针 `p` 所指向的变量的值,因此 `*p = 20` 就相当于把 `a` 的值修改为了 20。
相关问题
c语言指针交换变量值
在C语言中,可以通过指针来交换两个变量的值。具体实现方法如下:
```c
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
在这个函数中,我们定义了两个指向整型变量的指针a和b,然后通过解引用操作符*来获取它们所指向的变量的值,并将它们交换。这样,当我们调用swap函数时,传入的参数就是两个整型变量的地址,函数内部就可以通过指针来修改它们的值,从而实现变量值的交换。
使用示例:
```c
int main() {
int a = 10, b = 20;
printf("Before swap: a=%d, b=%d\n", a, b);
swap(&a, &b);
printf("After swap: a=%d, b=%d\n", a, b);
return 0;
}
```
输出结果:
```
Before swap: a=10, b=20
After swap: a=20, b=10
```
c语言指针找最大值
可以使用指针来找到一组数中的最大值,具体实现如下:
```c
#include <stdio.h>
int main() {
int arr[] = {5, 2, 9, 8, 3};
int *p = arr;
int len = sizeof(arr) / sizeof(int);
int max = *p;
for (int i = 1; i < len; i++) {
if (*(p + i) > max) {
max = *(p + i);
}
}
printf("The max value is %d\n", max);
return 0;
}
```
在这个例子中,我们定义了一个 int 类型的数组 arr,同时定义了一个指向 int 类型的指针 p,并将它指向数组 arr 的首元素。然后,我们使用循环遍历数组中的每一个元素,如果该元素比当前的最大值还要大,则将它赋值给 max 变量。最后,输出 max 的值即可。