数组元素的指针
所谓的数组元素的指针是数组元素的地址。
通过指针引用数组 –数组元素的地址
int a[10];//定义a为包含10个数据的整型数组
int *p;//定义一个int型的指针变量
p=&a[0];//把a[0]元素的地址赋给指针变量p
这里a类似于p==地址
数组名即是地址,地址就是数组名;
*+变量:--取地址== 值
变量:--只是地址== 地址
a若是数组名--只是地址 == 地址
* a:*+数组名--是取地址==值
int a[10]={1,3,5,4,5,6,7,8,9,2,10} int *p; p=&a[0]
把a[0]的地址赋给指针变量p
*(p+5),*(a+5)和a[5]是等价的.
p2=&a[5]值为2020, p1=&a[3]值为2012
若指针变量P1,P2都指向同一数组的元素
p2-p1的值为2{(2020-2012)/4=2} --知道它们所指元素的相对距离
求指针的加法是毫无意思的
//利用gets--直接输入类似于scanf(补充puts类似于printf)
//gets只能传入地址
//代码实现单词统计个数
#include<stdio.h>
int main(){
char s[100];
int i,num=0,word=0;
char c;
gets(s);
for(i=0;(c=s[i])!='\0';i++)
if(c==' ') word=0;
else if(word==0)
{word=1;
num++;
}
printf("一共有%d个单词",num);
return 0;
}