C语言完美演绎7-9

/* 范例:7-9 */

#include <stdio.h>

void main()

{

int a\[\]={1,2,3,4,5,6,7,8,9,10};

int *ptr1 = a;

int *ptr2 = a+9;

for(int i=0;i<10;i++)

printf("\na%d的地址是%d",i,&ai);

printf("\nptr1是%d *ptr1是%d",ptr1,*ptr1);

printf("\nptr2是%d *ptr2是%d",ptr2,*ptr2);

printf("\nptr2-ptr1=%d",ptr2-ptr1);

ptr1++;

if (ptr1 < ptr2) /* 以指针变量作比较的动作 */

printf("\nptr1 < ptr2");

if (ptr1 > ptr2) /* 以指针变量作比较的动作 */

printf("\nptr1 > ptr2");

printf("\nptr1是%d *ptr1是%d",ptr1,*ptr1);

ptr2=ptr2-8; /* 以指针变量作减法的动作 */

printf("\nptr2是%d *ptr2是%d",ptr2,*ptr2);

if (ptr1 == ptr2) /* 以指针变量作比较的动作 */

printf("\nptr1 == ptr2");

printf("\nptr1-ptr2=%d",ptr1-ptr2);

getchar();

}

程序执行结果:

a0的地址是6618588

a1的地址是6618592

a2的地址是6618596

a3的地址是6618600

a4的地址是6618604

a5的地址是6618608

a6的地址是6618612

a7的地址是6618616

a8的地址是6618620

a9的地址是6618624

ptr1是6618588 *ptr1是1

ptr2是6618624 *ptr2是10

ptr2-ptr1=9

ptr1 < ptr2

ptr1是6618592 *ptr1是2

ptr2是6618592 *ptr2是2

ptr1 == ptr2

ptr1-ptr2=0

相关推荐
白色的北极熊15 分钟前
c语言 输出菱形字符串
c语言·开发语言
T1mzhou1 小时前
ARM64 Linux 6.10 内核驱动(14):drivers/base/platform.c:板级设备主战场
linux·c语言·开发语言·arm开发
小孩玩什么1 小时前
深入理解字符串匹配算法:BF算法,KMP算法
java·c语言·开发语言·数据结构·c++·算法
clear sky .2 小时前
内存8字节对齐是什么?
c语言·stm32·嵌入式硬件
无忧.芙桃2 小时前
C++内存管理
c语言·开发语言·c++·青少年编程
zyeyeye2 小时前
C++入门:从HelloWorld到命名空间揭秘
c语言·开发语言·c++·算法
wuminyu4 小时前
Kafka配置TLS/SSL加密传输时零拷贝失效分析
java·linux·c语言·jvm·c++
yanlaifan6 小时前
C语言标准版本简单介绍
c语言
wuyk55515 小时前
从零吃透 MQTT 通信|第 8 章 FreeRTOS 多任务架构下 MQTT 工程架构,任务拆分、队列解耦、临界区保护
c语言·开发语言·stm32·学习·架构
xx~t16 小时前
嵌入式——51单片机1
linux·c语言·单片机·嵌入式硬件·51单片机