美文网首页算法
两个月陪你刷ccf(10)——指针

两个月陪你刷ccf(10)——指针

作者: 二向砸 | 来源:发表于2020-01-27 19:08 被阅读0次

    ①简单介绍:

    指针,初学者永远的痛,这玩意儿一直到我后来学了计算机组成原理才算真正搞懂,有时候不懂硬件真的会对代码的理解有深刻的影响。

    简单来说,指针就是变量的地址。计算机通过指针来找到变量然后使用。

    指针是一个unsigned类型的整数。

    指针变量就是用来存放各种指针的变量,有两种定义方法:

    int* p;//建议用这种,地址赋给的是p不是*p,*p是用来找地址对应的变量的!详情见下文代码

    int *p;

    给指针变量赋值:

    int a;

    int*p=&a;

    #include<stdio.h>

    int main(){

    int a;

    int* p=&a;

    a=12;

    printf("%d\n",*p);

    return0;}

    结果:

    注意:p保存的是地址,*p保存的是地址中存放的元素。

    #include<stdio.h>

    int main(){

    int a;

    int* p=&a;

    *p=12;

    printf("%d\n",a);

    return0;}

    结果:

    指针变量的加减法就等同于地址间的加减法,比如p+1指p所指的int型变量的下一个int型变量地址。常用于数组。

    ②数组与指针

    数组中第一个元素的地址就是数组的首地址,而C语言中,数组名也可以作为数组的首地址使用。

    #include<stdio.h>

    int main(){

    int a[10]={1};

    int* p=a;

    printf("%d\n",*p);

    return0;}

    结果:

    利用指针变量自增枚举数组中元素:

    #include<stdio.h>

    int main(){

    int a[10]={1,2,3,4,5,6,7,8,9,10};

    for(int* p=a;p<a+10;p++){

    printf("%d ",*p);}

    return0;}

    结果:

    相关文章

      网友评论

        本文标题:两个月陪你刷ccf(10)——指针

        本文链接:https://www.haomeiwen.com/subject/eapethtx.html