C语言指针运算与单词计数程序详解
1. 指针减法运算
在C语言中,指针运算有许多有趣的规则。如果一个指针加上一个整数等于另一个指针,那么一个指针减去另一个指针应该等于一个整数。指针相减的结果是两个指针之间元素的数量,这里的“元素”指的是指针所指向的变量类型。
以下是一个简单的示例代码:
int array[ 10 ];
int *aPointer = &array[ 1 ];
int *bPointer = &array[ 7 ];
int x = bPointer - aPointer;
假设数组 array
的内存地址是2000,由于 int
类型通常占4个字节, aPointer
的地址将是2004, bPointer
的地址将是2028,它们之间的内存差值是24字节。但变量 x
将被设置为6,因为 aPointer
和 bPointer
之间相差6个 int
类型的元素(24÷4)。C语言在进行指针减法时使用的公式是字节地址的差值除以指针所指向变量的大小,并且C语言只允许对相同大小的变量的指针进行相减操作。
2. 单词计数程序(WordCount)
2.1 程序介绍
WordCount
程序会要求你输入一行文本,然后统计你输入文