资源描述:
《数组的指针和字符串的指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
一、数组的指针1.数组与地址2.数组元素的访问二、字符串指针1.字符串指针的定义2.字符指针与字符数组的区别三、指针作为函数参数1.数组名作为函数参数2.字符指针作为函数参数第16讲数组的指针和字符串的指针 C语言规定:数组名代表数组(元素)的首地址,即第一个元素的地址。若有:inta[10],*p=a;则:a与&a[0]是等价的指针变量p为数组的指针数组的指针:数组的起始地址,即数组元素的首地址。数组元素的指针:数组元素的地址。一、数组的指针 1.数组与地址对数组的首地址加上偏移量x就可以得到其它元素的地址。例:&a[1]表示数组元素a[1]的地址等价于a+1、p+1&a[x]表示数组元素a[x]的地址等价于a+x、p+x 2.数组元素的访问下标法:用a[i]的形式存取数组元素。地址法:用*(a+i)的形式存取数组元素。指针法:用指针变量p指向数组的首地址,然后通过移动指针存取数组元素。如p=a,p+i。 例a用下标法存取数组元素main(){inta[10],i;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%d",a[i]);printf(" ");} 例b用地址法存取数组元素main(){inta[10],i;for(i=0;i<10;i++)scanf("%d",a+i);for(i=0;i<10;i++)printf("%d",*(a+i));printf(" ");} 数组元素的访问举例例c用指针法存取数组元素。(即通过指针指向数组的首地址,然后通过移动指针存取数组元素。)main(){inta[10],*p,i;for(i=0,p=a;i<10;i++)scanf("%d",p+i);for(i=0,p=a;i<10;i++)printf("%d",*(p+i));printf(" ");}main(){inta[10],*p;for(p=a;p