![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 74
利刃大大
不怕山高,只怕腿软
展开
-
函数栈帧的创建和销毁【详细图解与解释】
注:本文章所使用的编译器是VS2010,由于不同编译器的函数栈帧与销毁略有差异,所以具体细节请读者自行实践!目录常见寄存器基本的汇编语言知识具体实现关于栈帧创建与销毁的问答题常见寄存器寄存器有:eax、ebx、ecx、edx、edi、esi、ebp、esp其中 ebp 和 esp 是用来维护函数栈帧的,他们里面存放的是地址。他们维护的是某个正在被调用的函数。通常我们又称 ebp 为栈底指针,称 esp 为栈顶指针基本的汇编语言知识push:压栈pop:出栈mov:若有变量a,b,则把b的值原创 2022-05-05 21:18:24 · 418 阅读 · 8 评论 -
C/C++版动态通讯录(可保存信息)
1、思路以及要实现的功能通讯录就是为了存储许多联系人的不同方面的信息如名字、电话、地址、年龄、性别等,除此之外,还要实现增删查改还有打印通讯录等功能,所以我们先把要实现的功能列出来:增加联系人删除联系人搜索联系人修改联系人信息按年龄大小排序联系人打印联系人信息2、详细步骤2.1 打印菜单界面(建一个源文件test.c)void menu(){ printf("********************************\n"); printf("****** 1.add原创 2022-03-19 14:57:12 · 12482 阅读 · 11 评论 -
C/C++动态内存开辟详解(含常见错误以及经典面试题)
动态内存开辟1.四个重要的内存函数1.1 malloc和free1.2 calloc1.3 realloc2.常见错误2.1 对NULL指针进行解引用操作2.2 对动态开辟内存的越界访问2.3 使用free释放非动态开辟的空间2.4 使用free释放了动态开辟内存的一部分2.5 对同一块动态内存开辟的空间多次释放2.6 动态开辟的空间忘记释放,造成内存泄漏3.经典面试题第一题第二题第三题第四题1.四个重要的内存函数1.1 malloc和freeC语言提供了一个动态内存开辟的函数:void mall原创 2022-03-19 12:41:46 · 2240 阅读 · 6 评论 -
结构体的内存对齐规则
结构体内存对齐的规则以及默认对齐数的修改原创 2022-03-18 22:41:46 · 5312 阅读 · 8 评论 -
经典编程题:求水仙花数
文章目录什么是水仙花数?用C语言如何实现?什么是水仙花数?水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。用C语言如何实现?首先,先把我们的思路大概想好,分为以下几步:1.我们要求的是0-10w内的水原创 2022-02-15 22:01:18 · 1291 阅读 · 3 评论 -
关于指针数组与数组指针详解(知识点全面)
1.目录1.指针数组2.数组指针2.它们的区别1.指针数组如果一个数组中的所有元素保存的都是指针,那么我们就称它为指针数组。其一般形式为: 数据类型 *数组名[常量表达式][常量表达式]...... ;它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身的大小决定,每个元素都是一个指针。例如:char *arr[]={“Sunday”,“Monday”},存储了两个指针,第一个指针指向了字符串"Sunday",第二个指针指向了字符串"Mond...原创 2022-02-15 10:44:18 · 37584 阅读 · 20 评论 -
C语言杨辉三角的实现
想必大家在初高中就听过和学过杨辉三角,那么用C语言如何实现呢?要实现杨辉三角首先得先知道它的特征,以下是我找到的杨辉三角的特点:1.每行端点与结尾的数为12.每行数字左右对称,由1开始逐渐变大3.第n行的数字有n项4.每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即C(n+1,i)=C(n,i)+C(n,i-1)根据这些特点,我们便可以写出杨辉三角的代码:(代码虽长了点,但是..原创 2022-02-10 12:03:32 · 14975 阅读 · 4 评论 -
详细浮点型数据的存储讲解
在引入知识之前,先来看一个案例,就知道了解浮点型数据存储的重要性与必要性。举个例子:#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main(){ int num = 9; float *pnum = (float *)#//强制转换类型 printf("n的值为:%d\n",n); printf("*pFloat的值为:%f\n",*pnum); *pnum = 9.0; p原创 2022-02-10 11:37:10 · 2012 阅读 · 3 评论