Sian 发表于 2014-3-5 10:08:32

一个经典的例子说明针指的用法

本帖最后由 Sian 于 2014-3-5 10:12 编辑

/*
通过运算符"*"访问指针值与运算符"&"取值指针,来理解C语言中指针的基本使用方法
1、定义一个int型变量,分别打印其值与指针地址;、
2、定义一个指针变量,并将上面的地址赋值给该变量,打印其值、其值(指针)所指向的值、以及自身的地址;
3、定义一个二级指针变量,并将上面(指针类型的值)的指针赋值给该变量, 打印其值、其值(二级指针指针)所指向的值、其值所指向的值(指针)所指向的值、以及自身的地址;
*/
#include <stdio.h>
#include <stdlib.h>

int main() {
   
    int a = 10;// 定义一个int型变量a 赋值为10
    printf(" a = %d\n", a);// 打印a的值
    printf("&a = %p\n", &a);// 打印a的地址
    printf("\n");
   
    int *p = &a;// 定义一个int型的指针(int *)变量p 赋值为a的地址
    printf(" p = %p\n", p);// 打印p的值,即a的地址
    printf("*p = %d\n", *p);// 打印p所指向的值,即a的值
    printf("&p = %p\n", &p);// 打印p自身的地址
    printf("\n");
   
    int **pp = &p;// 定义一个指针类型的指针( (int *)* --> int ** )变量pp 赋值为p的地址,即保存a地址变量的地址
    printf("pp = %p\n", pp);// 打印pp的值,即打印保存a地址变量的地址
    printf("*pp = %p\n", *pp);// 打印pp所指向的值,即a的地址
    printf("**pp = %d\n", **pp);// 打印pp所指向的值(a的地址)所指向的值(即a的值)
    printf("&pp = %p\n", &pp);// 打印pp自身的地址
   
    system("pause");
   
    return 0;
   
    }
输出结果:a = 10
&a = 0022FF44

p = 0022FF44
*p = 10
&p = 0022FF40

pp = 0022FF40
*pp = 0022FF44
**pp = 10
&pp = 0022FF3C


页: [1]
查看完整版本: 一个经典的例子说明针指的用法