![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
文章平均质量分 87
smile_zhangwj
这个作者很懒,什么都没留下…
展开
-
函数的调用过程(栈帧)
我们知道每次函数调用都是一个过程,这个过程称之为函数的调用过程。且每次函数调用都要为本次函数调用开辟栈空间, 用于本次函数的调用中临时变量的保存、现场保护。这块栈空间我们称之为函数栈帧。 那又怎样维护这块空间呢?这块空间的上限在哪里、下限又在哪里? 这里就涉及两个寄存器(ebp和esp),在函数的调用过程中这两个寄存器存放了维护这个栈的栈低和栈顶指针。原创 2017-08-17 23:33:24 · 266 阅读 · 0 评论 -
main函数参数解析和可变函数列表
main函数参数解析 main函数是有参数的,只是我们使用main函数时,大多数情况下会省略参数。接下来我们看一下main函数的原型,并对main函数的三个参数进行解析。main函数原型解析: 这里有三个参数。 第一个参数:argc是一个整形变量,表示命令行参数的个数(含第一个参数)。 第二个参数:argv是一个字符指针数组,...原创 2018-07-18 17:43:02 · 468 阅读 · 0 评论 -
static、const和关键字volatile
staticstatic修饰变量&修饰函数 在介绍static之前,先看下static修饰全局变量和局部变量的题。#include<iostream>using namespace std;static int m;void fun1(){ static int n = 0; n++; printf("n = %d\n",n);} ...原创 2018-07-16 11:03:47 · 787 阅读 · 0 评论 -
C语言文件IO相关操作
I/O函数以三种基本的形式处理数据:单个数据、文本行和二进制数据。1.fopen函数 (打开一个特定的文件) 形式: FILE * fopen(char const* name,char const* mode) 参数: name: 希望打开的文件或设备的名字 mode: ...原创 2018-03-21 19:56:20 · 1465 阅读 · 1 评论 -
编程之路
时光飞逝 大一、大二时光总是转瞬即逝,我是一名即将步入大三的学生,也是普通大众的一员。回首大一、大二的学习生活,可谓是大一不知道自己不知道,大二知道自己不知道,想到明年此时的自己,不禁胆战心惊。 学习方法 对于编程的学习,我认为不能贪多重要的在于精通,对于当前学习的话,先从C语言开始,不仅仅在于理论知识的了解,重要的实践、实践、实践原创 2017-06-24 21:01:29 · 234 阅读 · 0 评论 -
C语言各种数据类型取值范围
转自:http://blog.csdn.net/mafuli007/article/details/7325510 速查表:char -128 ~ +127 (1 Byte)short -32768 ~ + 32767 (2 Bytes)unsigned short 0 ~ 65536 (2 Bytes)int -2147483648 ~ +2147483647 (4 Bytes...转载 2018-01-15 13:41:44 · 21586 阅读 · 4 评论 -
C语言指针部分总结
一级指针 先解释一下什么是指针,为什么要有指针 指针: 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器 中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针” 意思是通过它能找到以它为地址的内存单元。(百度百科) 我原创 2017-08-31 16:00:20 · 352 阅读 · 0 评论 -
模拟实现strlen、strcpy、strcat、strcmp函数
strlen函数 形式: strlen(字符数组) 功能: 测量字符串的函数,函数的值为字符串中的实际长度(不包括‘\0’在内) 方法1: 设置计数器,遍历字符串 缺点:需要开辟临时空间 方法2: 通过函数递原创 2017-08-29 16:18:05 · 393 阅读 · 0 评论 -
关于数据在内存中存储的运算
整型提升 C语言之父的著作 K&R 中关于整型提升(integralpromotion)的定义为:类型转换 不同类型数据之间进行算数运算时,会将所有操作数转换为同种类型,并以此作为结果的类型,这种方式称为普通算术类型的转换。 总结:普通算术类型转换只在在操作数之间类型不一致的情况下发生,整型提升在操作数具有相同的类型时,仍有可能发生整型提升 简单介绍下关于对于char类型取值范围的图解:原创 2017-08-15 16:51:28 · 1007 阅读 · 0 评论 -
整数、浮点数在内存中的存储
整数在内存中的存储 一个变量的创建是要在内存中开辟空间的,空间的大小是根据不同类型决定的。 那么数据在所开辟的内存中是如何存储的?大小端的介绍 大端存储模式:数据的低位(低字节)保存到内存的高地址中,而数据的高位(高字节)保存到内存的低地址中 小端存储模式:数据的低位(低字节)保存到内存的低地址中,而数据的高位(高字节)保存到内存的高地址中 浮点数在内存中的存储原创 2017-08-13 22:28:31 · 1959 阅读 · 0 评论 -
交换两变量的值
交换两变量的值,1.创建临时变量 2.不创建临时变量的几种方法 a.算术运算 b.位运算原创 2017-06-27 18:11:42 · 281 阅读 · 0 评论 -
解析数组
解析数组数组1. 数组是一组有序数据的集合(顺序储存在内存中,通过下标进行访问)2. 通过数组名和数组下标可以唯一的确定一个元素3. 数组中每一个元素都属于同一数据类型ps:数组结合循环,可以批量处理大量数据一、一维数组 一维数组的创建和初始化原创 2017-07-22 22:32:09 · 969 阅读 · 0 评论 -
数组的运算
在进行数组运算之前, 首先,我们需要对 arr, &arr, &arr[0]有一个很好的了解 看代码: 运行结果: 可见三者的值相同,那么三者是不是绝对相同呢? 再仔细分析下列代码: 运行结果: 由此得出结论:虽然arr, &arr,原创 2017-07-27 18:09:07 · 689 阅读 · 0 评论 -
模拟实现atoi 和itoa
模拟实现atoi分析: 需要对特殊情况进行处理。字符转整数1. 考虑输入的字符串是否为NULL、空字符串2. 考虑输入的字符串是否包含正负号3. 考虑输入的字符串是否会发生上溢或下溢(正整数的值是0X7FFFFFFF,最小的负整数是0X80000000)4. 如何区分正常返回数字0和不合法的返回 //模拟实现 atoi//int atoi( const char *str...原创 2018-09-16 17:25:51 · 219 阅读 · 0 评论