C语言
Definitely111
这个作者很懒,什么都没留下…
展开
-
谈谈C++中指针与应用的区别
1、二者的定义和性质有区别指针是一个存放内存地址的变量,指向的是内存的一个存储单元。引用是原变量的别名,实质上就是原来的变量,换了个名字而已。2、指针可以有多级指针,但是引用只能是一级。3、指针在定义时候可以不用初始化,引用必须在定义时候初始化。4、指针可以指向NULL,引用不可以为NULL。5、指针初始化之后可以再改变,引用初始化后不可再修改。6、sizeof运算符的运算结果不同。7、自增运算的意义不同。8、指针和引用作为函数参数时,指针需要预防空指针NULL,引用不需原创 2021-09-01 09:36:58 · 549 阅读 · 0 评论 -
C语言顺序表和链表内容
1顺序表:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表:使用定长数组存储。 动态顺序表:使用动态开辟的数组存储顺序表中的问题:1. 中间/头部的插入删除,时间复杂度为O(N) 2. 增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。 3. 增容一般是呈2倍的增长,...原创 2020-04-09 17:27:53 · 422 阅读 · 0 评论 -
C文件操作管理
文件操作的套路大致为: 1. 打开文件 fopen 2. 读文件fread 3.写文件fwrite 4.关闭文件 fclose1.打开文件 fopenFILE * fopen ( const char * filename, const char * mode );FILE 标准库中定义好的结构体, 如果打开文件失败, 返回值是NULLFILE * fp = fopen("D:...原创 2020-03-25 16:12:09 · 167 阅读 · 0 评论 -
C语言动态内存管理操作需要注意的几点
都知道内存管理分为1.申请 2. 释放下面将要说明 malloc()[男主角] free()[女猪脚] realloc()[男二号] calloc()[男配角]原创 2020-03-23 11:28:27 · 222 阅读 · 0 评论 -
结构体内存对齐的规则中,你知道这几点吗?
都知道结构体是自定义类型;下面例子中:struct student { char name[100]; int age;}int main () { //创建一个变量S,S 的类型是struct student; struct student S = {"张三", 18}; struct student S2 = {"李四", 19}; S...原创 2020-03-13 13:12:31 · 146 阅读 · 0 评论 -
那些C语言中你不知道的字符串函数(坑)
1.strcpy()在字符串拷贝函数中,它的函数编写不难,如下char* Strcpy(char* dest, const char* src) { assert(dest != NULL && src != NULL); char* result = dest; while (*src != '\0') { *dest = *src; src++; ...原创 2020-03-11 22:19:36 · 225 阅读 · 0 评论 -
C指针的爆炸难点.
指针重难点:难点一:以下程序的执行结果是?int a[5] = { 1, 2, 3, 4, 5 };int *ptr = (int *)(&a + 1); //&a 得到的是int(*)[5]型 //&a + 1 得到的是跳过a[5]这个数组的下一个元素 ...原创 2020-03-06 22:05:42 · 287 阅读 · 0 评论 -
strlen与sizeof的区别大讲堂
1.strlen()与sizeof()各自的特点:首先得知道sizeof()并非是函数,它本质上是一个操作符; 而strlen()则是一个函数, 需要的参数是一个char*类型的参数, strlen函数的功能就是在得到char*的地址后,从该地址向后数字符的个数,直到遇到 \0结束,并返回size_t无符号整型;说起区别, 先从字符数组与字符串说起:C语言中,字符数组与字符串完全不同;...原创 2020-03-03 12:27:14 · 179 阅读 · 0 评论 -
C语言中的大小端存储及原码补码反码的运算关系 %d %u
在冯诺依曼体系结构下.内存是非常重要的组成部分!1.内存VS外存(硬盘,优盘,软盘等)1.内存支持"随机访问能力": 也就是计算机访问内存上的某个地址的数据,花费时间开销都差不多,无论地址编号的大小,时间复杂度都为O(1);外存同样也支持随机访问能力,但是支持的程度远不及内存 2.内存量比较小,外存比较大 3.内存访问速度快.外存慢(速度快3-4个数量级,也就是几千倍) 4.内存的成...原创 2020-02-27 17:46:51 · 312 阅读 · 0 评论 -
指针数组和数组指针的区别以及辨别的方法
在看到网友的说法时,感觉很赞同,(https://blog.csdn.net/u012894631/article/details/19557529),也谈一下自己的理解1.数组指针或称作 行指针(数组型的指针,定语是数组的,修饰的是指针),int (*p)[10] 首先看符号的优先级,( )的优先级高于其他,那么这是指针. 它定义的是指向一个数组的指针,这个一维数组的...翻译 2020-02-04 09:10:31 · 1621 阅读 · 0 评论 -
指针专题强化概念
一 指针概念: 1.指针是变量,用来存放地址2.指针变量中存的有效地址可以唯一指向内存中的一块区域3.局部指针变量不初始化就是野指针4.野指针是非常危险的操作,如果对野指针进行解引用操作会导致内存调用混乱一定要注意避免野指针二 指针变量大小以下系统中,int类型占几个字节,指针占几个字节,操作系统可以使用的最大内存空间是多大:32位系统中: int型占据 4 个字节,...原创 2019-12-07 13:37:35 · 500 阅读 · 0 评论 -
条件排序
1.5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。借鉴网友的思路:解题思路:1,先用for遍历5个变量从1-5; 2,再用if条件筛选符合的顺序,并...原创 2019-11-30 16:45:03 · 142 阅读 · 0 评论 -
控制台实现扫雷小游戏
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>#define MAX_ROW 9#define MAX_COL 9#define MINE_NUM 10int me...原创 2019-11-26 21:07:15 · 261 阅读 · 0 评论 -
控制台C语言实现三子棋
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <time.h>#include <string.h>#define MAX_ROW 3#define MAX_COL 3int menu() { printf("======...原创 2019-11-23 13:28:38 · 106 阅读 · 0 评论 -
递归专题:斐波那契数数列的实现
1.递归和非递归分别实现求第n个斐波那契数。递归函数实现:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int Fibonacci(int n) { if ( n < 3 ) { return n; } return Fibonacci(n - 2) ...原创 2019-11-21 16:39:36 · 248 阅读 · 0 评论 -
用函数实现功能:1.打印n*n的乘法表,2.实现两个数的交换,3.判断某年份是否闰年,4.用函数对数组元素进行修改,5.用函数判断某数是否素数等
1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>void factor(int a);int main(void) { int b;...原创 2019-11-17 12:20:51 · 185 阅读 · 0 评论 -
猜数字游戏
1.猜数字游戏:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <Time.h>int main(void){ int a , b , c; srand((unsigned int)time(NULL)); a = rand() ...原创 2019-11-17 10:49:36 · 128 阅读 · 0 评论 -
工欲善其事必先利其器,分享一波Git安装以及GitHub注册过程:
# 安装Git: 准备好Git的安装包:这里使用的是Git-2.22.0-64-bit.exe,一路傻瓜式点击NEXT就能完成安装(如若需要更改安装地址:浏览地址选择自己想要安装的地址即可).直到看见Finish,这就安装成功啦.# 注册GitHub账户:进入www.github.com,有两个按钮:sign in是登录,sign up是注册,这里我们选择sign up...原创 2019-11-10 11:58:43 · 144 阅读 · 0 评论 -
4 打印箭头图案
1.在屏幕上输出以下图案:*************************************************************************************//在屏幕上输出以下图案://*//***//*****//*******//*********//***********//*************//...原创 2019-11-10 11:33:26 · 1303 阅读 · 0 评论 -
C语言交换两个数组的元素
1.将数组A中的内容和数组B中的内容进行交换。(数组一样大)// 将数组A中的内容和数组B中的内容进行交换。(数组一样大)#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int main(void) { int a[7] = { 1, 2, 3, 4, 5, 6, ...原创 2019-11-09 21:24:44 · 2926 阅读 · 0 评论 -
小试牛刀2
1. 给定两个整形变量的值,将两个值的内容进行交换。//给定两个整形变量的值,将两个值的内容进行交换#include <stdio.h>#include <stdlib.h>int main(void) { int a = 1; int b = 2; int c = 0; printf("交换前: a = %d , b = %d \n", a , b)...原创 2019-11-09 20:50:00 · 102 阅读 · 0 评论 -
小试牛刀1
1.打印100-200之间所有的素数://程序功能:输出100-200之间所有的素数20191107#include <stdio.h>#include <stdlib.h> //包含SYSTEM系统函数int main(void) { int i , j; //定义循环变量 printf("100-200之间所有的素数:\n"...原创 2019-11-07 22:57:27 · 192 阅读 · 0 评论