今天扩展了指针的运用,把指针的一些常用用法以及有可能遇到的问题展示了一遍,把昨天数组与指针的进行了巩固,数组作值传递时,改变的是原地址,把数组当中用指针取地址的时候,int *p = a;*p代表的是行元素的首地址,当时不清楚的时候还以为是一个值,这就与一维数组的区别,因为二维数组的话取得数组a的地址是第一行不可能是值,所以打印出来的是地址,期间还把函数和其他相关知识点给复习了一下,接下来就把函数指针的知识点给讲了,函数指针运用的主要步骤就是宪给调用函数的类型到参数全部复制一下,在粘贴到main函数里面,只要对函数名改成(*标识符),把*xxx的地址获取到函数名(add)的调用函数,返回到运算过的结果返回就完成了一个周期,期间也尝试了运用指针对数组的内容进行更换位置
void abc(int *p)
{
for (int i = 0; i < 5; i++)
{
*(p + i) = *(p + i) + *(p + (9 - i));
*(p + (9 - i)) = *(p + i) - *(p + (9 - i));
*(p + i) = *(p + i) - *(p + (9 - i));
}
for (int j = 0; j < 10; j++)
{
printf("%d", *(p + j));
}
}
void main()
{
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int *p;
p = &a;
abc(p);
getchar();
}
只要按照这个步骤就能进行一些简单的数组元素之间的调换