第十一次作业总结

一.知识点

指针数组,即用于存储指针的数组,也就是数组元素都是指针

数组指针,即指向数组的指针

1.指针数组和数组指针的区别

如要将二维数组赋给一指针,应这样赋值:

int a[3][4];
int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。
 p=a;        //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0]
 p++;       //该语句执行过后,也就是p=p+1;p跨过行a[0][]指向了行a[1][]

如要将二维数组赋给一指针数组:

int *p[3];
int a[3][4];
p++; //该语句表示p数组指向下一个数组元素。注:此数组每一个元素都是一个指针
for(i=0;i<3;i++)
p[i]=a[i]

这里int *p[3] 表示一个一维数组内存放着三个指针变量,分别是p[0]、p[1]、p[2]

总结来说,指针数组,首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身的大小决定,每一个元素都是一个指针,在32 位系统下任何类型的指针永远是占4 个字节。它是“储存指针的数组”的简称。
数组指针,首先它是一个指针,它指向一个数组。在32 位系统下任何类型的指针永远是占4 个字节,至于它指向的数组占多少字节,不知道,具体要看数组大小。它是“指向数组的指针”的简称。

形参与实参的区别

很简单,比如你定义一个函数void add(int a, int b),这里的a和b就是形参。

 当你进行函数调用的时候,add(1, 2),这里的1和2就是实参。

实验总结及心得

第三题的游戏题不太明白是什么意思,马上就要结课啦,有些开心也有些失落,没有C语言的周末都不太适应了呢~

原文地址:https://www.cnblogs.com/wangxinmu/p/6138076.html