指针变量的值

Posted saintdingspage

tags:

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

  • 别说我没告诉过你指针匹配类型有多重要,指针类型决定了从开始地址取多长,如何解析
void main()
{
    int num = 100;
    double *p = (double*)#//明明是整型,我非tm按照double解析
    printf("指针p指向%x,该地址上存的值为%f
",p,*p);
    getchar();
}

unfortunately

技术图片

 

 技术图片

 

 技术图片

 

  •  指针的运算
p=&a将变量a地址赋予指针p

p=&a[i]将数组元素地址赋给指针p

p=a[10]将数组首元素地址赋给指针p

p1=p2指针p2赋值给指针p1
#include<stdio.h>
#include<stdlib.h>
void main()
{
    int a[10] = {0,1,2,3,4,5,6,7,8,9};
    for (int i = 0; i<10; i++)
    {
        printf("a+i=%x,&a[i]=%x
", a + i, &a[i]);
    }
    getchar();
}

输出结果:

技术图片

 

 不难得出,a即代表首元素地址a+i意味着在首地址的基础上推进i个元素a+i=&a[i]=======>*(a+i)=a[i]

所以一种很拽的写法是

#include<stdio.h>
#include<stdlib.h>

void main()
{
    int a[10] = {0,1,2,3,4,5,6,7,8,9};for (int *p = a; p < a + 10; p++)
    {
        *p = 9 - *p;
        printf("
%d", *p);
    }
    getchar();
}

输出结果:

 技术图片

 

 

 

 

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

C 语言指针间接赋值 ( 直接修改 和 间接修改 指针变量 的值 | 在函数中 间接修改 指针变量 的值 | 在函数中 间接修改 外部变量 的原理 )

C语言中如何交换两个指针变量的的值

指针初学

40篇学完C语言——(第四篇)指针与地址

指针变量和普通变量的值

交换两个变量的值(指针用法)