
C深刨
文章平均质量分 83
雨连绵花满楼
顺其自然
展开
-
【两万字 C语言重难点全部总结,系列分明,篇幅分明,哪里不会点哪里呦】
文章目录概述关键字系列第1篇——auto register第2篇——static sizeof第3篇——signed unsigned第4篇 ——if else第5篇 —— switch case第6篇——三大循环及 continue break void第7篇——const return volatile第8篇——extern union enum typedef符号系列第9篇——转义,位运算,逻辑运算第10篇——左移右移 前置后置+或-第11篇——负数取模预处理系列第12篇——预处原创 2021-11-05 14:16:18 · 2985 阅读 · 16 评论 -
C深刨【指针传参和数组传参】
文章目录指针传参和数组传参一维数组传参指针传参和数组传参一维数组传参void Show(int a[], int num){ printf("Show: %d\n", sizeof(a));//这个呢???}int main(){ int a[10] = { 0 }; printf("main: %d\n", sizeof(a));//求的是整数组的大小 Show(a,10); return 0;}回答一个问题,Show函数中sizeof(a)会是多少?为什么是4呢?因为数组原创 2021-11-03 14:46:29 · 644 阅读 · 1 评论 -
C深刨,内存管理
文章目录什么是内存管理?为什么要内存管理?什么是内存管理?int main(){ int *p = malloc(sizeof(int)* 10); if (NULL == p){ perror("malloc"); return 1; } for (int i = 0; i < 10; i++){ *(p + i) = i; } for (int i = 0; i < 10; i++){ printf("a[%d]: %d\n", i, p[i]); } f原创 2021-11-03 14:45:17 · 308 阅读 · 0 评论 -
C语言图解栈帧的形成与释放【全网第二详细分析版】
图解栈帧的形成与释放,你想知道的都在这里哦原创 2021-11-03 14:43:00 · 1447 阅读 · 15 评论 -
C深刨_指针_指针数组和数组指针篇
文章目录指针数组和数组指针在讨论数组名与&数组名的区别指针数组和数组指针#include<stdio.h>int main(){ int *p1[10];//p1先和[]结合,说明是数组,元素类型是int* 故为整型指针数组 数组里面什么同类型的元素都可以放 int(*p1)[10];//p1先和*结合说明是一个指针变量,所指向的目标是数组,有10个元素每个是int return 0;}在讨论数组名与&数组名的区别#include<stdio.h&原创 2021-10-30 16:08:47 · 369 阅读 · 6 评论 -
C深刨_指针与数组_数组篇
文章目录什么是数组?数组的内存分布什么是数组?数组是相同类型的集合,你定义一个整型数组,他的每个元素都是整形的#include<stdio.h>#define M 10 int main(){ int arr[M] = { 0 }; return 0;} 数组的内存分布我们先看一下普通变量是在内存如何存储的!!!看地址是向下减小的我们发现,先定义的变量,地址是比较大的,后续依次减小这是为什么呢?a,b,c都在main函数中定义,也就是在栈上开辟的临时变量。而原创 2021-10-29 08:01:03 · 367 阅读 · 0 评论 -
C深刨_指针与数组_指针篇【指针就该这样学 看完这一个专题,以后关于指针的就不用看了】
文章目录什么是指针左值与右值为什么有指针指针的内存布局解引用什么是指针左值与右值先明确什么叫做左值和右值做一下铺垫我们反汇编一下,深刻认识一下!!!#include<stdio.h>int main(){ int a = 10; int b = a;//使用的是a的内容 a==10 return 0;}**知道了什么是左值和右值,再来看一下什么是指针:**1.什么是指针?指针就是地址!那么地址本质是什么呢?地址是数据,那么数据可不可以被保存在变量空间里面原创 2021-10-26 10:14:19 · 433 阅读 · 3 评论 -
C深刨_预处理_下篇
文章目录#ifdef 与 #ifndef#ifdef 与 #ifndef#ifdef//#define BOSSint main(){#ifdef BOSS printf("hello C\n");#else printf("hello B");#endif return 0;}#ifndef反之 如果没定义执行,如果定义了就else原创 2021-10-24 13:37:05 · 2316 阅读 · 0 评论 -
C深刨_预处理_上篇【宏相关】
文章目录字符串宏常量程序翻译为二进制代码的过程字符串宏常量如何定义?这样做是不行的!!!宏定义代表字符串的时候一定要加上双引号!!!程序翻译为二进制代码的过程为什么把文本代码翻译成二进制代码呢?...原创 2021-10-23 13:17:13 · 356 阅读 · 2 评论 -
C深刨_符号_完结篇 【全网第二 负数取模/取余深度刨析】
文章目录深度理解取余/取模运算一,关于取整你要知道的!!!1,向0取整2,向-∞取整3,向+无穷取整4,四舍五入取整二,取模取余和取模一样吗?深度理解取余/取模运算一,关于取整你要知道的!!!1,向0取整int main(){ int a = 2.9; int b = -2.9; printf("%d\n", a); printf("%d\n", b); return 0;}结果为啥是2和-2呢?本质上是向0取正 解释一下:所以结果是-2 和 22,向-∞取整#in原创 2021-10-22 22:28:23 · 4605 阅读 · 3 评论 -
C深刨_符号_中篇 【 深度理解左移右移 深入理解a++ 自增自减运算符!!!】
文章目录整型提升左移与右移深度理解左移右移++和 - -整型提升int main(){ char c = 0; printf("sizeof(c): %d\n", sizeof(c)); //1 printf("sizeof(c): %d\n", sizeof(~c)); //4 printf("sizeof(c): %d\n", sizeof(c << 1)); //4 printf("sizeof(c): %d\n", sizeof(c >> 1)); //4原创 2021-10-21 11:11:38 · 333 阅读 · 0 评论 -
C深刨_符号_起始篇【深度刨析 转义字符 单双引号 逻辑运算符 位运算符】 看完还学不会打我!!!
文章目录注释符号注释符号基本注释事项:#include <stdio.h>int main(){ int /* */ i; //正确 char *s = "abcdefgh //hijklmn"; //正确 //Is it a\ valid comment? //正确 in/* */t j; //报错 return 0;}注意:注释被替换,本质是替换成空格#include <stdio.h># define M 12int main(){原创 2021-10-20 13:31:20 · 287 阅读 · 1 评论 -
C深刨关键字_完结篇8 extern struct union enum typedef
文章目录externstruct柔性数组unionenumtypedefextern之前C深刨第二篇博客,也已经讲过了,大家想了解可以看一下,在第二篇的开头部分!!!C深刨第二篇struct定义结构体,本质是制作类型#include<stdio.h>#define M 64 //定义结构体,本质是制作类型struct stu{ char name[M]; int age; char sex; char addr[M];};int m原创 2021-10-18 10:35:20 · 575 阅读 · 1 评论 -
C深刨7 完全搞懂 return const volatile 干货多多!!!【建议收藏!!!】
文章目录return1.C语言中有字符串和字符串类型吗?2.我们平常删除数据,比如说删除一部电影是真的在内存中删除了吗接下我们在栈帧方面解释上面那个代码现在我们谈一个问题:函数调用会开辟栈帧,函数中的变量,会在栈帧中开辟空间,问题来了,你咋确保你开辟的栈帧,一定够函数中变量开辟空间用呢经过上面的学习我们就可以理解一下递归的问题了为什么临时变量具有临时性?return#include<stdio.h>char* show(){ char str[] = "hello world"; re原创 2021-10-16 13:47:27 · 458 阅读 · 1 评论 -
C深刨6 for while do,continue break void
文章目录while do for基本解释3个流getcharwhile do for基本解释**while条件初始化while(条件判定){业务更新条件更新}forfor(条件初始化; 条件判定; 条件更新){业务代码}do while 条件初始化do{条件更新}while(条件判定);**do while 适用于那种游戏界面呀,一上来无论如何先让你来一次的场景,对于这样的有奇效3个流接下来我们说一下三个流任何C程序,在运行之前都会默认代开三个输入输出流stdi原创 2021-10-13 10:58:13 · 304 阅读 · 2 评论 -
c深刨5——switch case break相关
文章目录switch与casedefaultswitch与caseswitch的语法结构:int main(){ int a = 0; while (1){ scanf("%d", &a); printf("请输入数字\n"); switch (a){//整型变量,整型常量,整型表达式 case 1://必须是常量,也宏替换的,也可以是枚举常量,但不能是const修饰的变量 printf("星期1\n"); break; case 2: printf(原创 2021-10-12 09:14:37 · 268 阅读 · 0 评论 -
C深刨4 ——bool与0,浮点数与0比较,指针与0比较,详解强制类型转换
文章目录if else语法bool与0比较float与0比较if else语法**什么是语句:C语言中由一个分号;隔开的就是一条语句。比如:printf(“hehe”);1+2;****啥是表达式:C语言中,用各种操作符把变量连起来,形成有意义的式子,就叫做表达式。操作符:+,-,*,/,%,>,<,=,==…****基本语法:语法结构:1if(表达式)语句;2if(表达式)语句1;else语句2;多分支if(表达式1)语句1;else if(表原创 2021-10-11 11:32:00 · 702 阅读 · 0 评论 -
c深刨关键字3——彻底搞明白整型在内存的存储!
文章目录signed,unsigned与整型在内存的存储有符号数与无符号数我们来看一下数据是如何存储的signed,unsigned与整型在内存的存储有符号数与无符号数charunsigned charsigned charshortunsigned short [int]signed short [int]intunsigned intsigned intlongunsigned long [int]signed long [int]无符号数:不需要转化,也不需要符号位,原反原创 2021-10-10 10:26:32 · 324 阅读 · 2 评论 -
C语言深刨_关键字2——static sizeof
文章目录多文件问题staticstatic修饰全局变量和函数static修饰局部变量局部变量就是“临时的”,全局变量就是“全局的”?sizeof多文件问题全局变量和函数在另一个文件定义的函数能在其他文件中使用吗?可以的在另一个文件定义的全局变量能在其他文件使用吗?可以的从上面来看得出函数和全局变量可以跨文件使用但是必须声明加下来看看声明之后声明之后是没有错误,但是这样子声明是不是有些麻烦看下面为什么要使用头文件呢?在单纯的使用源文件,当项目组织的越大时,维护的成本就很高;.h的头文原创 2021-10-07 12:33:21 · 557 阅读 · 3 评论 -
C语言深刨——关键字1
文章目录深入刨析关键字C程序声明与定义变量声明的本质:auto作用域与生命周期auto 相关register深入刨析关键字C程序#include<stdio.h>int main(){ printf("hello world"); return 0;}声明与定义什么是变量(是什么)在内存中开辟特定大小的空间,用来保存数据如何定义变量(怎么用)int x = 10;char c = ‘a’;double d = 3.14;这个都会为什么要定义变量(为原创 2021-10-06 13:51:26 · 559 阅读 · 2 评论