目录
二、指针能指向数组?为啥?
1.指针与一维数组
(1)指针变量处理数组
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
int a[10],*p;
srand((int)time(0));
printf("随机生成10个数:\n");
for(p=a;p<a+10;p++){
*p=(int)(10+90*rand()/RAND_MAX);//p本身就是地址,不用加地址符
printf("%5d",*p);
}
printf("\n");
printf("10个数中的奇数是:");
for(p=a;p<a+10;p++)
if(*p%2==0) printf("%5d",*p);
printf("\n");
printf("10个数中的偶数是:");
for(p=a;p<a+10;p++)
if(*p%2!=0) printf("%5d",*p);
return 0;
}
赋初值语句p=a必不可少,若p未赋初值,其在内存中可能任意指向一个地址,有键盘输入的数据替代了该地址处存放的内容,会导致意想不到的错误。
(2)数组的地址
一个数组在内存中是连续存放的,数组的第一个元素地址称为首地址。在C语言中,数组名是该数组的首地址。
int a[10],

本文深入探讨了C语言中指针与一维数组的关系,包括指针如何指向数组,如何通过指针存取数组元素,以及指针的移动和相减运算。此外,还详细阐述了字符指针在处理字符串时的特性和注意事项,对比了字符指针与字符数组的区别,并给出了删除字符串中空格字符的方法。
最低0.47元/天 解锁文章
1148

被折叠的 条评论
为什么被折叠?



