C
文章平均质量分 80
JenaeLi
Running for the sun!
展开
-
堆和栈的区别
1、申请方式stack:由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间heap:需要程序员自己申请,并指明大小,在c中malloc函数如p1 = (char *)malloc(10);在C++中用new运算符如p2 = new char[10];但是注意p1、p2本身是在栈中的。2、申请后系统的响应栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。堆:首先应该知道操作原创 2021-09-08 18:08:50 · 161 阅读 · 0 评论 -
C/C++常量指针和指针常量——const修饰指针
首先明确两个概念:指针是一个变量,这个变量指向一个内存地址,这个变量的值就是这个地址,访问这个地址(*p),即可得到指针指向的内容在C/C++里,变量名前面的,除修饰符外,都是变量类型一般const修饰指针,常见的就下面两种形式:int * const p1;int const * p2;此时P1是一个常量指针,const修饰的是P1这个变量的类型int *,常量指针的指向不可...原创 2020-02-24 10:46:58 · 311 阅读 · 0 评论 -
switch...case...和if...else...区别
switch 和 if 都是用来处理分支语句的,那么使用的时候,考虑到代码效率问题,就必须先来了解他们有什么区别。先来看看这两个语句的使用格式:if…else… if (表达式1) { 语句1; } else if (表达式2) { 语句2; } else if (表达式3) { 语句原创 2017-03-25 17:36:09 · 10325 阅读 · 0 评论 -
链表面试题——C语言
最近总结了一些有关用C语言实现单链表的面试题。代码如下: list.h文件——主要是条件编译以及各个函数的声明。#ifndef __LIST__#define __LIST__#include<stdio.h>#include<windows.h>#include<assert.h>typedef int DataType;typedef struct list{ struc原创 2017-04-12 19:01:16 · 549 阅读 · 0 评论 -
宏和函数的区别
1.代码长度不同。当运行程序时,在预处理阶段,宏代码被插入到程序中,使程序的长度大大幅度增长,如果,宏比较小的话还好,否则原创 2016-11-03 22:51:30 · 716 阅读 · 0 评论 -
函数的栈帧结构
在地址空间中,为单个过程(我们暂且将这个过程理解为函数)分配的那部分栈就叫做栈帧。栈帧的最顶端以两个指针界定——帧指针和栈指针。简单来说,栈帧就是帧指针和栈指针之间的内容,即函数。每一个函数都有一个自己的栈帧结构,但是,在地址空间中,为单个过程(我们暂且将这个过程理解为函数)分配的那部分栈就叫做栈帧。栈帧的最顶端以两个指针界定——帧指针(寄存器ebp)和栈指针(esp)原创 2016-11-22 12:28:50 · 4036 阅读 · 0 评论 -
C语言实现通讯录系统——容量自增,文件版本
头文件maillist.h#ifndef _MAILLIST_H_#define _MAILLIST_H_#include#include#include#define INIT_MAIL_SIZE 1#define INC_SIZE 64#define FILE_NAME "maillistFile.txt"#pragma warning (disable:4996原创 2016-12-19 19:53:01 · 644 阅读 · 0 评论 -
C语言实现下三子棋
三子棋的代码我写了一个.h头文件,用于声明,两个.c文件,其中一个用于函数实现,一个用于测试。代码如下:Checkerboard.h文件:#define _CRT_SECURE_NO_WARNINGS 1#ifndef __CHESSBOARD_H__#define __CHESSBOARD_H__#include#include#include#includevoid原创 2016-12-09 16:08:33 · 556 阅读 · 0 评论 -
C编程之预处理标识符——__LINE__,__FILE__,__DATE__,__TIME__,__STDC__,#,##
常用的预定义符号: 1. __FILE__ : file顾名思义,也就是进行编译的源文件所在目录。 2. __LINE__ : line表示进行编译的当前文件当前所在的行号。 3. __DATE__ : date表示当前文件被编译的日期。 4. __TIME__ : time即⽂件被编译的时间,精确到秒原创 2016-11-02 14:47:02 · 1587 阅读 · 0 评论 -
C编译链接——从代码到可执行程序的蜕变之路
我们都知道,当你写了一段代码后,你要使用编译器把这个代码经过编译链接生成可执行程序即我们常说的.exe文件之后才能打印出结果。那么问题来了,这个编译链接的过程以及代码在编译器里面经过怎样的处理从而得到.exe文件呢?原创 2016-11-02 16:20:37 · 1277 阅读 · 0 评论 -
简易小游戏扫雷——C语言编程实现
#define _CRT_SECURE_NO_WARNINGS 1#include#include#include#include#define ROWS 10#define COLS 10#define MINE 30void menu(){ printf("*********************************\n"); printf("*********原创 2016-10-28 15:52:24 · 7080 阅读 · 0 评论 -
C语言实现猜数字游戏
#include#include#includeint menu() //选择菜单函数{ int choose = 0; printf("**************************\n"); printf("Please choose:\n"); printf("1.Game\n"); printf("0.EXIT\n"); printf("************原创 2016-10-14 09:20:36 · 6558 阅读 · 3 评论 -
C语言中交换两个整数的值之传值调用和传址调用
在C语言中,一说到交换两个整数的值,大家第一反应可能是这样的代码。定义一个第三方变量来辅助交换。#includeint main(){ int num1 = 10; int num2 = 20; int tmp = 0; tmp = num1; num1 = num2; num2 = tmp; printf("num1 = %d num2 = %d\n",num1,num2)原创 2016-10-02 21:31:13 · 5126 阅读 · 0 评论 -
编程这条路
大家好,作为博客新手,借着CSDN这个平台,我来介绍下自己哈 2014年7月,我莫名其妙的走上了编程这条....暂且叫路吧。那个时候我对传说中的别人的大学生活满是憧憬,因为我的某位..长者...告诉我:你们也原创 2016-09-24 17:02:14 · 735 阅读 · 1 评论 -
c入门之printf函数的返回值
说到printf这个函数,那学习C的人呢肯定都知道,它就是个输出函数嘛,这还能不知道。我想告诉大家的是,以前啊,我也这么以为,不就是个输出函数嘛,有什么了不起,谁不会用啊!可是有一天,我看到了这个代码: 其实分开看,都认识,但是这么合起来,看到它瞬间就蒙圈了,printf怎么还能这么用?不过那个时候为了证明我是知道、了解这个函数的,我回答这行代码运行结果是4原创 2016-09-22 23:26:59 · 3379 阅读 · 0 评论