资源描述:
《C语言-指向多维数组的指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter8善于利用指针Contents8.6返回指针值的函数8.7指针数组和多重指针8.8动态分配内存和指向它的变量8.5指向函数的指针通过指针引用二维数组a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};由三个1维数组组成,分别是a[0]a[1]a[2]P246—图8.19,图8.20和表8.2比较好的复习资料。通过指针引用二维数组165514265516365518465520565522665524765526865528aa+1a+2a[0]a[0]+1a[
2、0]+2a[0]+3a是行指针,a[0],a[1],a[2]是列指针965530106553211655341265536通过指针引用二维数组165514265516365518465520565522665524765526865528aa+1a+2a[0]a[0]+1a[0]+2a[0]+3a是行指针,a[0],a[1],a[2]是列指针965530106553211655341265536*&行指针列指针通过指针引用二维数组165514265516365518465520565522665524765
3、526865528aa+1a+2a[0]a[0]+1a[0]+2a[0]+3a[1][2]965530106553211655341265536通过指针引用二维数组165514265516365518465520565522665524765526865528aa+1a+2a[0]a[0]+1a[0]+2a[0]+3a[1][2]a+1965530106553211655341265536通过指针引用二维数组565522665524765526865528a+1a+2a[1]a[1][2]a+1*(a+1)
4、965530106553211655341265536通过指针引用二维数组565522665524765526865528a+1a+2a[1]+2a[1][2]a+1*(a+1)*(a+1)+2965530106553211655341265536通过指针引用二维数组565522665524765526865528a+1a+2a[1]+2a[1][2]a+1*(a+1)*(a+1)+2*(*(a+1)+2)965530106553211655341265536通过指针引用二维数组56552266552410
5、065526865528a+1a+2a[1]+2a[1][2]a+1*(a+1)*(a+1)+2*(*(a+1)+2)=100965530106553211655341265536例8.11输出二维数组的有关数据voidmain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%u,%u”,a,*a);printf(“%u,%u”,a[0],*(a+0));printf(“%u,%u”,&a[0],&a[0][0]);printf(“%u,%u
6、”,a[1],a+1);printf(“%u,%u”,&a[1][0],*(a+1)+0);printf(“%u,%u”,a[2],*(a+2));printf(“%u,%u”,&a[2],a+2);printf(“%u,%u”,a[1][0],*(*(a+1)+0));printf(“%u,%u”,*a[2],*(*(a+2)+0));}165514265516365518465520565522665524765526865528aa+1a+2a[0]a[0]+1a[0]+2a[
7、0]+3965530106553211655341265536指向二维数组元素的指针实质,整型指针。例8.12用指向元素的指针变量输出二维数组各元素的值。p=a[0];或p=&a[0][0];p8、间接访问a。165514265516365518465520565522665524765526865528aa+1a+2965530106553211655341265536指向由m个元素组成的1维数组的指针为什么一定要为数组定义一个指针变量,然后进行p=a;再进行p++的操作?因为数组名a是一个常量,表示数组的首地址,不能进行a++的操作。指向由m个元素组成的1维数组的指针为什么一定要为数组定义一个指针变量,