面试题:有被问到C语言做软件开发时候怎么管理众多的指针,要如何回答?
展开全部
C语言是没有“类”这个抽象类型的,所以封装成类这个说法欠妥。
我给你讲讲我对指针管理的经验,其实也谈不上什么管理:
1,指针在定义时如果没有初始值,就记住赋NULL;系统对NULL这个地址是有保护的,在以后对指针的解引用操作时对NULL值的指针会有错误提示,容易发现,否则发生解引用错误时就是可恨的段错误了。
2,指针如果用了malloc,realloc等内存分配函数赋值后,在明确后面的代码不需要引用该地址的内容时,就一定要用free函数释放该指针。
3,如果给指针赋予变量或常量的地址,就不能用free函数释放,记住free只与malloc或realloc函数匹配。
4,多级指针在不需要使用时,要逐级释放。
5,总之,指针是最容易引起错误的地方,但不要怕,在查错时,对指针变量进行跟踪,根据以上4条经验即可。至于在指针数组,链表里用到的指针也是要遵循这些原则即可。
我给你讲讲我对指针管理的经验,其实也谈不上什么管理:
1,指针在定义时如果没有初始值,就记住赋NULL;系统对NULL这个地址是有保护的,在以后对指针的解引用操作时对NULL值的指针会有错误提示,容易发现,否则发生解引用错误时就是可恨的段错误了。
2,指针如果用了malloc,realloc等内存分配函数赋值后,在明确后面的代码不需要引用该地址的内容时,就一定要用free函数释放该指针。
3,如果给指针赋予变量或常量的地址,就不能用free函数释放,记住free只与malloc或realloc函数匹配。
4,多级指针在不需要使用时,要逐级释放。
5,总之,指针是最容易引起错误的地方,但不要怕,在查错时,对指针变量进行跟踪,根据以上4条经验即可。至于在指针数组,链表里用到的指针也是要遵循这些原则即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询