乐趣区

关于c:C语言指针详解

指针

问题: 指针是什么?

简略来说就是咱们应用指针变量,通过这个指针变量拜访该数值

请看上面的示例代码

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

通过下面测试得悉, 这样在产生转换时, 不能够失去咱们想要的后果

退出移动版