📅  最后修改于: 2023-12-03 15:13:47.115000             🧑  作者: Mango
在C语言中,指针是一种极其重要的数据类型,掌握指针的基础知识对于理解C语言程序的原理以及进行系统程序的开发至关重要。本文将介绍C语言中指针基础问题12。
以下程序中,变量a、b、c、p的值分别是什么?
int a = 10, b = 20, c = 30;
int *p1 = &a, *p2 = &b, *p3 = &c, *p4;
p4 = p1;
p1 = p3;
p3 = p2;
p2 = p4;
*p2 = *p3 + *p1;
首先定义了三个整型变量a、b、c,并分别赋值为10、20和30。接着定义了四个指向整型变量的指针变量p1、p2、p3和p4,分别初始化为a、b、c的地址。接下来执行了一些指针的赋值和指向,具体而言,实现了以下操作:
最后执行的那一句,将p2指向的值赋值为p3指向的值加上p1指向的值,等价于将b的值赋值为c的值加上a的值,即:
*p2 = 30 + 10;
因此,*p2的值为40,a、b、c的值分别为10、40、30,p1、p2、p3、p4分别指向a、b、c、a的地址。
本文介绍了C语言中指针基础问题12,通过该问题的分析和解答,可以进一步加深对C语言指针及其操作的理解。对于新手来说,指针操作可能有些难以理解,但是只要多加实践和实践,加强对指针的掌握,就能逐渐掌握指针的基本操作。