网上很多人说需要改变链表的时候就要用二级指针,比如create,delete,destroy...但很多次我用一级指针也能正确操作链表,经过思考和对比,终于总结出:一般有头结点的链表用一级指针即可,无头节点且要操作表头head时就要用的到二级指针。 使用二级指针的原因就是为了操作原生原味的head。一级指针传过去的之是一个地址拷贝,链表头指针的地址在函数内是无法操作的。 比如要删除节点时,删除中间节点和尾节点时不用二级指针。但是删除头节点时,不是删除了就完事,头节点没有了必须寻找另一个头节点。即第二个。 但此时不用二级指针的话是访问不了main()函数里的表头指针的。。 同理,因为有头... Read More
posted @ 2013-12-19 21:09
Trace...
Views(329)
Comments(0)
Diggs(0)
三者均把一个字符串读到程序中,然而,待读入的数据原先是没有存储空间的,所以程序录入字符串时必须先为字符串预留空间。比如: char *name; scanf("%s", name); 会导致段错误。 为name malloc(。。。)空间可解决此问题。 或者 直接定义字符串数组 char name[SIZE];区别:gets(char *buffer): 从系统的标准输入获得一个字符串,读取换行符'\n'之前的所有字符,包括空格,注意:换行符不读入,直接加'\0'结束。fgets(char *buffer, int size, FILE *f Read More
posted @ 2013-12-19 20:47
Trace...
Views(263)
Comments(0)
Diggs(0)