指针的认识

Posted

tags:

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

#include<stdio.h>
int main()
{
    ///int *p 其中 p是指针变量,*p是指针
    ///指针的本质:就是一个装地址的变量;
    ///去掉p就是变量的类型,所以这个例子变量的类型是 int* 型
    ///指针指向的空间的类型:去掉名字,去掉一个 *
    ///指针的运算:加减是对类型空间的大小进行加减,比如:
    /// int a=10; 因为int是4个字节,所以地址p+1就是加4
    /// int *p=&a;还有一种等效的格式为: int *p; p=&a;
    ///printf("%d\n",p);  结果为2686744
    ///printf("%d\n",p+1);结果为2686748 多4
    ///以上的数2686744代表地址,想要输出具体的数就再在前面加 * ,即用*p来对地址读写
    ///比如下面的题输出矩阵的数时就用到了*p
    int a[3][3];
    int *p;
    int i,j;

    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            p=&a[i][j];
            scanf("%d",p);
        }
    }
    printf("\n");
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            p=&a[i][j];
            printf("%d ",*p);
        }
        printf("\n");
    }

    return 0;
}

 

指针的认识

#include<stdio.h>

int main()

{

    ///int *p 其中 p是指针变量,*p是指针

    ///指针的本质:就是一个装地址的变量;

    ///去掉p就是变量的类型,所以这个例子变量的类型是 int*

    ///指针指向的空间的类型:去掉名字,去掉一个 *

    ///指针的运算:加减是对类型空间的大小进行加减,比如:

    /// int a=10; 因为int4个字节,所以地址p+1就是加4

    /// int *p=&a;还有一种等效的格式为: int *p p=&a

    ///printf("%d\n",p);  结果为2686744

    ///printf("%d\n",p+1);结果为2686748 4

    ///以上的数2686744代表地址,想要输出具体的数就再在前面加 * ,即用*p来对地址读写

    ///比如下面的题输出矩阵的数时就用到了*p

    int a[3][3];

    int *p;

    int i,j;

 

    for(i=0;i<3;i++)

    {

        for(j=0;j<3;j++)

        {

            p=&a[i][j];

            scanf("%d",p);

        }

    }

    printf("\n");

    for(i=0;i<3;i++)

    {

        for(j=0;j<3;j++)

        {

            p=&a[i][j];

            printf("%d ",*p);

        }

        printf("\n");

    }

 

    return 0;

}

以上是关于指针的认识的主要内容,如果未能解决你的问题,请参考以下文章

片段中的 EditText 上的空指针异常 [重复]

追了多年的开发框架,你还认识指针吗?

追了多年的开发框架,你还认识指针吗?

片段中的空指针异常

活动到片段通信:当我尝试从活动更新片段中的文本视图时,出现空指针异常

访问片段的子视图时出现空指针异常