一直听闻c语言指针概念复杂,经过几天的学习,终于认识到指针的难点和重要性。指针是c语言操作数组必须要熟练掌握的概念,并且指针概念抽象且复杂,熟练的c语言使用者必须对指针充分理解。
一级指针可以存放一个变量的地址 通常写作 int *p = &a;
用*p可以取到指针中存放地址的对应内容 *p = a;
因为一维数组的数组名又代表了数组的首地址所以可以通过指针计算来完成数组中数据的遍历:
二级指针可以用来存放一级指针的地址,改变二级指针指向的内容,则一级指针中的内容也会改变;
指针数组是元素为指针的数组,要取指针数组的地址要用二级指针,指向该数组的指针+1循环会遍历指针。
数组指针是可以自定义指向数据类型的指针 写作 int (*p) [n] ,n为数组的元素个数;指针数据大小不会随着指向类型的改变而发生变化。二维数组的数组名必须用数组指针存放;一维数组的数组名用一级指针存放;