C语言编程技巧札记

本文介绍了C语言中size_t类型的用途及其优势,并讨论了指针的指针在动态内存管理和多维数组创建中的应用。此外,还探讨了内联函数的空间时间权衡,以及backtrace函数如何帮助追踪函数调用堆栈和定位程序中的段错误。

1、size_t:size_t的全称应该是size type,就是说“一种用来记录大小的数据类型”。属于C99标准,它所定义的变量可以进行加减乘除运算。因此函数中表示数据大小的变量,推荐使用这个类型!例如:

int xxx(void *p, size_t len);

参考: 博客连接

2、指针的指针(双重指针)的作用:

1)用来传递需要修改的指针参数到函数中;

2)用来动态生成多维数组;

3)多用于指针交换,可以避免数据复制,提升系统的性能,同时还可以让函数修改指针,例如扩充其大小,指向等一般指针的指针用作参数,大多用在需要函数改变指针(重新引用变量)而又不能通过返回值传递(例如返回值用于传递其他结果)时。

参考:相关连接


3、内联函数:

以空间换时间。

参考:博客连接


4、backtrace函数追踪函数调用堆栈以及定位段错误:

一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的

参考:博客连接

实战例子:博客连接


blog : blog.youkuaiyun.com/fulinus



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fulinux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值