C/C++
文章平均质量分 55
主要介绍一些关于C、C++的问题
freshman_y
I'm here
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
*++p 和 *p++ 的区别,++*++p 和 ++*p++ 的区别?
C语言中*++p和p++的区别在于运算顺序:++p先移动指针再取值,属于右结合;p++先取值再移动指针,属于左结合。示例中,++p输出arr[1]的值20,而p++输出arr[0]的值10后指针才移动。对于复合运算++++p和++*p++,前者先移动指针再自增指向的值(如arr[1]从20变为21),后者先自增当前值(如arr[0]从10变为11)再移动指针。这些差异源于运算符的优先级和结合性规则。原创 2025-08-06 00:15:44 · 354 阅读 · 0 评论 -
一道C语言面试题:int a[7] = {1,2,3,4,5,6,7}; int *ptr = (int*)(&a + 1); printf(“%d %d“, *(a+1), *(ptr-1));
一道C代码面试题main() { int a[7] = {1,2,3,4,5,6,7}; int *ptr = (int*)(&a + 1); printf("%d %d", *(a+1), *(ptr-1));}以上代码输出什么?原创 2025-08-04 23:58:47 · 233 阅读 · 0 评论 -
C语言中字符和数字怎么互转?用‘0’加减就能搞定!
【摘要】C语言中字符与数字转换的规则为:字符转数字需减'0'(如'5'-'0'=5),数字转字符需加'0'(如1+'0'='1')。这是因为数字字符在ASCII码中连续排列('0'对应48)。实际应用时,如处理字符串中的数字计算,需先减'0'转换为数值,运算后再加'0'转回字符存储。例如:int num = '5'-'0'得到5,char ch = 1+'0'得到'1'。原创 2025-07-21 00:58:32 · 422 阅读 · 0 评论 -
VSCode遇到的一些小毛病(自动保存、运行后光标不再处于编辑区)
摘要:解决VSCode中RunCode的两个常见问题:1.右键点击RunCode未自动保存,需在设置中搜索"coderunnersave"并勾选;2.运行后光标仍在编辑区易误输入,需搜索"code-runnerpreserveFocus"并取消勾选。通过简单设置即可优化使用体验。原创 2025-07-04 16:10:23 · 363 阅读 · 0 评论 -
C/C++的面试题汇总
本文主要介绍了C语言和C++的核心知识点,包括: C语言关键概念:预处理指令(#include、#define)、数据类型、内存管理(malloc/free)、指针、结构体/联合体、函数参数传递方式等。 C++特性:面向对象(封装、继承、多态)、智能指针、STL容器与算法、移动语义、Lambda表达式等。 内存与线程:内存模型、多线程同步机制、死锁条件及解决方案。 实用工具与库:标准库函数分类(字符串处理、I/O操作等)以及常用第三方库推荐。 对比分析:C与C++的异同、深浅拷贝、静态/动态链接等。 文章全原创 2025-05-17 17:36:55 · 1776 阅读 · 0 评论 -
Visual Studio 中自定义代码片段(Snippet)的核心语法规则和常用的自定义代码片段+如何导入自定义代码片段
如果嫌打cout和打主函数太麻烦又不想装插件的情况下,那么可以自定义代码片段提高开发效率,下面就就简单介绍一下自定义代码片段的语法规则,然后列举一些常用的自定义代码片段。原创 2025-03-26 14:53:40 · 580 阅读 · 0 评论 -
Linux虚拟机中的vscode编辑器字体太小怎么解决
在 Linux 虚拟机中使用 Visual Studio Code (VSCode) 时,如果编辑器字体太小,可能是由于虚拟机分辨率设置、VSCode 配置或系统缩放问题导致的。原创 2025-03-01 15:57:34 · 1166 阅读 · 0 评论 -
假设arr是一个int型数组,为什么int (*p)[4]=arr报错initialization of ‘int (*)[4]‘ from incompatible pointer type ‘i‘
数组名在大多数情况下会退化为指向其首元素的指针。一维数组会退化指向数组第一个元素的地址,二维数组会退化指向第一行的指针。原创 2025-03-15 22:08:22 · 495 阅读 · 0 评论 -
深入解析 C 语言中含数组和指针的构造体与共同体内存计算
内存分布为成员按照声明顺序排列。数组成员按照数组中所有元素总大小分配。指针成员只占指针本身大小,不考虑所指数据。必须考虑每个成员的对齐要求,必要时插入填充字节,整体大小也需调整为最大对齐要求的整数倍。嵌套构造体时,先计算内部结构体的大小,再按照外部成员的排列顺序计算整体大小。所有成员共享同一块内存,大小取决于最大的成员(同时满足对齐要求)。数组和指针的计算方法依然适用,但只取最大值即可。原创 2025-03-11 20:56:59 · 1384 阅读 · 0 评论 -
C语言中内存布局(内存模型)是怎样的?
通过比较地址大小,我们可以很直观地看到内存布局高地址到低地址的情况。指的是程序在运行时如何组织和管理内存。栈:用于存储局部变量、函数参数、返回地址,增长方向是从高地址向低地址。(未初始化数据):未初始化的全局变量和静态变量,默认初始化为 0。命令行参数和环境变量:在程序启动时由操作系统传递,位于栈的上方。本文将以图示解释C语言中的内存模型,并同时举出例子方便理解。(已初始化数据):已初始化的全局变量和静态变量。代码段:存放可执行的程序代码,通常是只读的。),增长方向是从低地址向高地址。原创 2025-03-08 17:22:19 · 402 阅读 · 0 评论 -
C语言中数组指针和指针数组有什么区别?
本文介绍数组指针和指针数组的区别,函数指针和指针函数的区别请点击。原创 2025-03-08 15:20:25 · 219 阅读 · 0 评论 -
什么是内存泄漏?内存泄露的原因有哪些?内存泄漏如何去避免和解决?
内存泄漏(Memory Leak)指的是程序运行过程中动态分配的内存未被正确释放,导致该内存无法被程序继续使用,也无法被操作系统回收,从而导致可用内存不断减少,最终可能导致程序崩溃或系统变慢。原创 2025-03-08 14:50:14 · 923 阅读 · 0 评论 -
sizeof和strlen的区别是什么?举出例子说明
sizeof和strlen都用于获取数据的大小,但它们的作用和计算方式不同。原创 2025-03-08 14:27:37 · 289 阅读 · 0 评论 -
如何使用CMake制作并使用静态/动态库?
使用CMake构建静态和动态库原创 2025-03-08 12:34:23 · 1081 阅读 · 0 评论 -
C语言指针函数和函数指针的区别?
指针函数指的是返回值类型为指针的函数。也就是说,这种函数在执行完毕后返回一个指针变量,而不是直接返回基本数据类型或结构体。说明:1.上面的 函数返回一个指向整数的指针。由于局部变量在函数调用结束后可能被销毁,我们使用 关键字来保证变量 的生命周期足够长。2.调用该函数后,通过指针 就能访问返回的整数值。函数指针则是指指向函数的指针变量。简单来说,函数指针可以存储某个函数的地址,通过它可以间接调用这个函数。这在需要回调、策略模式或动态函数调用时非常有用。说明:1.这里的 是一个函数指针,原创 2025-03-03 20:12:08 · 338 阅读 · 0 评论 -
C语言实现学生管理系统小demo
实现了基本的管理员登录和学生信息管理功能,包括增、删、改、查等操作。原创 2025-03-03 19:40:37 · 226 阅读 · 0 评论 -
关于C语言的猜数字和井字棋小游戏
本文介绍关于C语言的猜数字和井字棋的小游戏,以及它们的实现思路。原创 2025-02-26 15:19:50 · 462 阅读 · 0 评论 -
汉诺塔(Hanoi)问题,Java实现,C语言实现,Python实现!!!
本文主要介绍了汉诺塔的玩法、逻辑、以及相关代码的实现。主要的思想是递归思想。本文也许还有许多不足的地方,欢迎各位大佬指点。若本文对你有所帮助,请支持我,给予我记录更多文章的动力。原创 2023-05-31 12:01:31 · 2600 阅读 · 1 评论
分享