计算机内存一般分为代码区和数据区:
- 代码区:存放程序代码
- 数据区:存放程序编译和运行过程中的常量和变量。
数据区包括:文字常量区、静态数据区、堆区、栈区。
1、文字常量区
存放常量,如字符串常量。
2025年05月09日
计算机内存一般分为代码区和数据区:
数据区包括:文字常量区、静态数据区、堆区、栈区。
存放常量,如字符串常量。
2025年05月09日
以下是以列表形式总结的C语言指针相关知识:
1. **基本概念**
- 地址:每个变量在内存中都有一个唯一的地址。
- 指针:一种特殊类型的变量,用于存储其他变量的内存地址。
2. **指针变量**
- 定义:使用 `*` 符号声明指针变量,如 `int *ptr;` 表示 ptr 是一个整型指针变量。
2025年05月09日
每个在Linux环境下工作的程序员,都遇到过段错误(segmentation fault)。所谓段错误,本质上是程序访问了非法内存地址而引起的一种错误类型。
导致程序访问非法地址的原因有很多,如野指针、内存被踩、栈溢出、访问没有权限的内存等。
之前更新调试专题文章时,有朋友问到段错误的调试方法,我承诺会更新文章专门介绍,本文就是来填这个坑的。
本文将介绍9种非常实用的段错误调试方法。
2025年05月09日
野指针是指没有初始化的指针;悬挂指针是指指向的内存已经被释放的指针。野指针和悬挂指针都是指向不安全不可控的内存,如果操作该指针会发生意想不到的结果。
2025年05月09日
QPushButton是Qt中常用的一个类
QPushButton* btn = new QPushButton;
//show和setparent同时调用会让按钮显示在窗口中间
btn->show(); //显示控件
btn->setParent(this); //将小部件的父组件设置为parent,小部件被移动到其父部件的(0,0)位置
btn->setText("第一个按钮");
//通过构造函数指定父控件会让窗口以子控件的大小进行显示
QPushButton* btn2 = new QPushButton("第二个按钮",this);
//移动按钮到指定位置
btn2->move(100,0);
//重新调整窗口大小
this->resize(640,480);
//设置窗口标题
this->setWindowTitle("第一个窗口");
2025年05月09日
因为c++是程序员的爹,程序员是java的爹。===_(:_」∠)_===
程:诶,怎么数组越界了?卧槽,怎么访问了野指针!
c++:怪我咯!?
程:宝宝,快跑跑这段代码。
JAVA:是的爹地~您在xxx行访问的数组越界了( o_o)下次要注意哦⊙﹏⊙,另外您访问了一个空的引用哦,但是大丈夫,╮(╯▽╰)╭宝宝我帮您开好内存了~( o_o)。另外听说这个月爸爸又涨薪了,干巴爹~\(≧▽≦)/~
程:……
2025年05月09日
1.本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。
许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy 很可能只能拿到10分中的2分。读者可从本文看到strcpy 函数从2分到10分解答的例子,看看自己属于什么样的层次。此外,还有一些面试题考查面试者敏捷的思维能力。