一.知识点
指针数组,即用于存储指针的数组,也就是数组元素都是指针
数组指针,即指向数组的指针
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语言的周末都不太适应了呢~
时间: 2024-10-11 18:22:19