指针说难也不难,说不难吧,有点难理解把握几点,就不是很难了1、指针是变量,可以当成一般的变量来操作2、指针可以做减法,不可以做加乘除,减法的意思是求两个内存空间之间隔着几个字节。加乘除没有意义3、内存空间中的每个字节都有一个地址,相当于一个小区中的那个楼那个单元,每个单元都有一个地址(如1号楼2单元三楼西户,呵呵)。指针就是记录这个地址的。如果想知道这个地址住的是谁,那么这个户主就是这个指针所指向的地址的内容4、语法上的写法,定义时用*来表示是定义指针如int*p;那么定义一个int型的指针p。inta;int*p=&a;定义p指针指向变量a的地址,因为a不是指针,所以用取地址符&让p指向a变量的地址inta;int*p;p=&a;inta;int*p=&a;上面两个完全是一个意思5、和数组的组合,一维数组和指针,数组名相当于指针,因为数组名是表示数组开始的首地址二维数组,理解起来麻烦一些,数组名相当于二层指针行列表示二维数组,那么加一个*表示一行的首地址,两个**才是元素多维数组理解也二维数组相似6、和函数结合,因为函数只能返回一个数据(这个是定下的),在返回多个数据的时候,一般是用数组,返回数组的首地址就可以那么在子函数中改变了数组的内容,那么主函数中,数组的内存也相应的改变了因为传递过去的知识数组的首地址,而不是另外开辟内存保护主函数中数组的内容7、和结构体,共用体的组合,链表是经典,还有文件,这些都有固定的格式代码,一般来说操作就是繁琐,理解不难,实在不行,套用格式就可以
阅读全文 >