指针
问题: 指针是什么?
简略来说就是咱们应用指针变量,通过这个指针变量拜访该数值
请看上面的示例代码
int num = 7;
// 创立指针变量
int *p = &num ;
printf("%d\n", *p);
在上述代码中,能够看出指针变量申明的办法及如何创立指针
指针变量的申明(申明指针时类型肯定要雷同, 防止一些谬误)
类型 * 指针变量名 = & 变量名
其中 &
是取地址符的意思
上面通过简略示例来演示指针的根本应用办法
int a = 1, b = 5;
swap(int &a, &b); // 调用函数
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
printf("a = %d\nb = %d\n", *a, *b);
}
// result: a = 5, b = 1
在下面代码中,函数申明咱们应用了地址符指向了两个值, 在函数中,咱们通过一个长期变量实现替换变量。试想下,如果咱们没有通过指针来实现替换,会胜利么?
上面是我没有指针指向变量而意料之外的谬误
swap(int a, int b);
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
printf("a = %d\nb = %d\n", a, b)
}
// result: a = 1, b = 1
通过下面测试得悉, 这样在产生转换时, 不能够失去咱们想要的后果