|
昨天学到指针了,大概意思以及概念等都是能听懂的,但对照syc大佬的例子,感觉好像有点混乱,具体情况如下。
5、定义一个函数,实现交换两个参数的值:
例如这样定义可以吗?
void swap(int a, int b)
{
int t = a;
a = b;
b = t;
}
大家可以试试,看看这么写能否正常的交换参数 a 和 b 的值呢?
应该这样定义才对:
void swap(int* pa, int* pb) //这意思应该是定义两个指针变量,内容应该是0x000ABC之类的这样的数据吧。
{
int t = *pa;//这意思是定义一个整型数据,来接收*pa这个0x00ABC这样的数据的意思吧
*a = *b;//这里a和b变量没有定义吧。怎么能用呢?难道定义了*pa,就可以用a了吗,那我如果指针变量取名不叫pa呢?
*b = t;
}
然后就晕了………
6、小作业:
实现一个函数,作用是获取一个数组中的最大值和最小值,函数声明如下:
void get_min_max(int src[], int* max_v, int* min_v)
{
//函数代码写在这个下面
}
这里的话,我感觉不用指针应该就能完成了吧,能不能再定义一个新数组,然后新数组=目标数组,然后给新数组排序,然后不就得到最大值最小值了吗。
是我想的太简单了还是啥,还是这题一定要用指针才能完成,或者syc大佬的意思是就让我们用指针方法完成…
5
syc大佬有点失误
6
不用指针确实也能达到效果
但是这节课的小作业是为了更加了解指针
----------------------------------------------------
ps: 50%以上初学者死在指针上了,,楼主加油

|
上一篇: 资料下载下一篇: 关于用指针控制数组元素
|