在C语言中,指针是一种特殊的变量,它用于存储另一个变量的内存地址。理解指针的关键是明白它实际上是一个指向内存位置的变量。这里有几个关键点来帮助你理解:
int *ptr;
声明了一个指向整数的指针。int num = 10;
,你可以使用 ptr = #
将 num
的地址赋给 ptr
。这里,&
符号用于获取变量的地址。*
运算符来访问或修改该地址处的值。例如,*ptr = 20;
会将 ptr
指向的内存地址(即 num
)中的值更改为 20。malloc
或 calloc
这样的函数,你可以在运行时分配内存,并使用指针来引用这块内存。#include <stdio.h>
int main() {
int num = 10;
int *ptr; // 声明一个指向整数的指针
ptr = # // 将num的地址赋给ptr
printf("num的值: %d\n", num);
printf("ptr指向的值: %d\n", *ptr);
*ptr = 20; // 通过ptr更改num的值
printf("num的新值: %d\n", num);
return 0;
}
结果:
num的值: 10
ptr指向的值: 10
num的新值: 20
#include <stdio.h>
void addTen(int *p) {
*p = *p + 10; // 在指针指向的值上增加10
}
int main() {
int num = 10;
printf("原始值: %d\n", num);
addTen(&num); // 将num的地址传给函数
printf("增加后的值: %d\n", num);
return 0;
}
结果
原始值: 10
增加后的值: 20