c语言指针理解,指针的概念和演示指针的简单操作2

原始代码升级版本:

#include <stdio.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    
    int a=114;
    float b=1.2L;
    char c='A';
    char str[] ="hello world";
    
    printf("&a=%p
",&a);
    printf("&b=%p
",&b); 
    printf("&c=%p
",&c);
    printf("&str=%p
",&str);
    
    int *a_ptr=&a;
    float *b_ptr=&b;
    char *c_ptr=&c;
    char *str_ptr=&str;
    
    printf("

");
    
    
    printf("a_prt=%p
",a_ptr);
    printf("b_ptr=%p
",b_ptr);
    printf("c_ptr=%p
",c_ptr);
    printf("str_ptr=%p
",str_ptr);
    
    

    //定义一个指向指针的指针变量  
    int **a_ptr_ptr=&a_ptr;
    
    printf("

"); 
    printf("a_ptr的地址%p
",&a_ptr); 
    
    //a_ptr存的是a的地址,a_ptr_ptr存的是a_ptr的地址; 
    printf("

"); 
    printf("%s","a_ptr存的是a的地址,a_ptr_ptr存的是a_ptr的地址;
");
    printf("a_ptr_ptr的值=%p
",a_ptr_ptr);//指针的值是一个地址  
    printf("a_ptr_ptr指向的指针的地址:%p
",*a_ptr_ptr); 
    printf("a_ptr_ptr指向的指针指指向的值=%d
",*(*a_ptr_ptr));
    
    
    return 0;
}

输出结果:

&a=000000000062FDFC
&b=000000000062FDF8
&c=000000000062FDF7
&str=000000000062FDE0


a_prt=000000000062FDFC
b_ptr=000000000062FDF8
c_ptr=000000000062FDF7
str_ptr=000000000062FDE0


a_ptr的地址000000000062FDD8


a_ptr存的是a的地址,a_ptr_ptr存的是a_ptr的地址;
a_ptr_ptr的值=000000000062FDD8
a_ptr_ptr指向的指针的地址:000000000062FDFC
a_ptr_ptr指向的指针指指向的值=114

--------------------------------
Process exited after 0.0395 seconds with return value 0
请按任意键继续. . .

由于本人是新学者,所以部分内容不保证正确性;

原文地址:https://www.cnblogs.com/Tpf386/p/13832056.html