C语言学习003:Hello 指针

Posted 养猪改变生活

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言学习003:Hello 指针相关的知识,希望对你有一定的参考价值。

在C中使用指针的原因

  避免副本 在函数调用的时候,可以只传递数据的引用,而不用传递数据

  数据共享 两段代码可以同时操作同一份数据,而不是两份独立的副本

使用指针读写数据 

#include <stdio.h>

int main(){
    int x=5;
    printf("x lives at %p\n",&x);//%p格式符将地址以16进制的格式输出
    int* address_of_x=&x;//用指针变量保存x的地址
    int value=*address_of_x;//通过*运算符可以获取指针地址所指向的值
    printf("%i\n",value);
    *address_of_x=10;//改变address_of_x地址所指向的空间的值
    printf("After the change,x = %i\n",x);
    return 0;
}

船长,向东航行!

#include <stdio.h>

void go_south_east(int* lat,int* lon){
    //通过*运算符找到lat地址对应的空间
    *lat=*lat-1;
    *lon=*lon+1;
}

int main(){
    int latitude=32;
    int longtitude=-64;
    go_south_east(&latitude,&longtitude);//传递变量的地址
    printf("Avast! Now at:[%i,%i]\n",latitude,longtitude);
    return 0;
}

 

以上是关于C语言学习003:Hello 指针的主要内容,如果未能解决你的问题,请参考以下文章

C++ - 指针和“智能指针”

更新:C++ 指针片段

在C代码中将结构体变量作为参数传递效率忒低

C语言代码片段

c语言中如何通过二级指针来操作二维数组

初学c语言指针问题