C/C++ 编程基础,重拾C/C++

2 篇文章 0 订阅

本文主要介绍关于C/C++编程中常遇到的问题,相信任何C/C++项目都离不开这些基本的问题。C/C++相信是计算机专业必修的编程语言,但是在实际项目中往往使用较少,往往属于那种学完就结束的语言。而C/C++上手并不像Python那么顺畅,属于什么都要管的语言,这就导致一旦要用的时候,上手起来会遇到许多拦路虎。在此记录重拾C/C++语言遇到的问题,以备不时之需。

  • C字符/字符串

1.char *类型是字符串指针,无法获取其指向的字符串长度;char []类型是字符串数组,使用sizeof()可以获取其长度。

2.strlen()函数计算字符串长度仅以‘\0’作为字符串结束标志,而sizeof()能获取真实的字符数组的长度。

3.char */char[] 转std::string 也以字符指针/数组中第一个‘\0’认为是字符串的结束。

4.malloc申请字符空间时,不会自动将‘\0’放到最后一位,对malloc申请的字符赋值时需要注意要以‘\0’结束,且不能越界

5.malloc申请的字符指针空间,free时一定free字符串指针的头部,并且free识别需要释放的空间时,不是根据‘\0’的位置,因为不必担心内存泄漏的问题。

 

  • 项目中多个.h、.c文件如何组织

1.C++向下兼容C的编程模式。

2.一般将项目最基础的公用类型、函数定义放在一个头文件base.h中,其他.h文件(而不是.c文件)包含该头文件即可,这样其他的.h和.c文件中均可使用base.h中定义的类型、函数。

3.对于常用的、无依赖的函数定义在.c(pp)文件中,在相应的头文件中声明函数。在调用者的.c(pp)文件中包含该.h头文件即可,而不是在调用者的.h文件中包含,否则很容易导致无止无尽的相互包含问题,而在.c(pp)文件中包含不会

4.static函数仅能在自身文件体内部调用,不能被其他.c(pp)文件调用,解决方法:定义一个非static函数包裹该static函数,在其他文件中调用该函数即可。

 

  • 总结一些常用的自制C/C++函数功能

1.MFC窗体程序打印输入信息,用于调试

2.数值型、字符类型、16进制操作函数

3.IPv4/6数值类型转字符串

github地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值