指针与数组
Posted hongjiamin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针与数组相关的知识,希望对你有一定的参考价值。
首先指针就是地址,数组本身就是地址,所以输入时可以不需要取地址符‘&‘,但如果引用数组的元素,就必须得加&符。
通过指针引用数组:
用一个指针变量指向一个数组元素
#include<stdio.h> int main() { int a[5]={2,5,8,3,5}; int *p; p=&a[0]; printf("%d",*p); return 0; }
运行结果:2
当printf("%d",*p);改为printf("%d",p);时,每次的运行结果为不同的7位数字,表达的是地址。
p=&a[0];等价于p=a;(a为函数名),因为p=a;的作用是把a数组的首元素的地址赋给指针变量p。
同时,int *p;p=&a[0];等价于int *p=a;
数组是不能进行自加自减运算,需要借助指针变量。
若指针变量p指向a的元素a[0]:
1、p++:使得p指向下一个元素a[1],则*p为元素a[1]的值。
2、*p++:等价于*(p++),先得到p所指向的值*p,在进行p++运算。
3、*(++p):先使p自加1,再取*p的值。
4、(*p)++:表示p所指向的元素值自加1。
打印下列图形:
A
BC
DEF
GHIJ
#include<stdio.h>; int main() { int i,j,k=0,p=0; for(i=0;i<4;i++) { k++; for(j=0;j<k;j++) { p++; printf("%c",64+p); } printf(" "); } }
以上是关于指针与数组的主要内容,如果未能解决你的问题,请参考以下文章