【C语言】指针进阶第五站,函数指针
[TOC] 指针进阶第五站🚏:函数指针 点进我的主页,可以回顾前四站的内容哦~ 1函数指针函数也有自己的地址,函数名/&函数名 就是函数的地址 1.1基本形式在数组指针的学习中我们了解到 12int arr[5];int (*pa)[5] = &arr;//pa是数组指针 指针变量pa的类型是int(*)[5] 那么函数指针的形式是怎样的呢? 123456789void test(char* str){}int main(){ void (*pt)(char*) = test; //pt是一个函数指针 return ...
【C语言】指针进阶终点站,回调函数和qsort
[TOC] 嘟嘟嘟,指针进阶的公交车到终点站🚏啦! 这一站我们将学习回调函数、qsort的使用以及模拟实现 1.回调函数 定义: 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一 个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该 函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或 条件进行响应。 在上篇博客函数指针数组里,提到了一个计算器的代码 在这里就能用到我们的回调函数,通过一个新的calc函数来调用计算函数,同样达到了避免switch/case语句重复的目的 不过 ...
【C语言】指针进阶第四站,数组/指针的传参问题
[TOC] 朋友们,到站啦! 指针进阶第四站🚏,传参问题 0.引例自定义函数里形参的类型,要和函数调用中传过去的实参类型相对应 在初阶C语言的学习里面,我们了解到传参分为传址和传值两种类型 一起来复习一下吧👉【链接】 test函数里的是int类型,我们传过去的参数a也是int类型 12345678void test(int n){}int main(){ int a=1 test(a); return 0;} 好了,现在你已经知道了函数传参的基本概念了😁 那么就来分析一下数组传参、指针传参的代码吧! 1.一维数组传参看 ...
【C语言】指针进阶第三站,数组指针
[TOC] 上一站🚏我们学习了指针数组 今天来到我们的第三站🚌 寒假也不能落下学习! 今天学到了一个新的markdown语法 我是红色 1<font color=red>我是红色</font> 数组指针整型指针:指向整型的指针 字符指针:指向字符的指针 数组指针:指向数组的指针 1基本概念下面哪个是数组指针呢? 指针数组和数组指针的概念很容易混淆,一定要分清楚哦! 12int *p1[10];int (*p2)[10]; p1是指针数组,每个元素的类型是int* p2是数组指针,每个元素的类型是int(*)[10] 1234int (*p2)[10 ...
【C语言】指针进阶第二站,指针数组
[TOC] 嘟嘟嘟🚌,指针进阶的第二站指针数组到了! 上车上车! 回顾一下第一站🚍的内容:字符指针 指针数组数组是一种类型的数的集合 整型数组的元素都是int类型 指针数组的元素都是指针变量 123int* arr1[10];//整型指针的数组char*arr2[10];//一级字符指针的数组char** arr3[5];//二级字符指针的数组 参考这一份示意图 示例1:定义多个字符指针在上一站的字符指针里面,提到了可以直接用指针来创建一个常量字符串 同理,我们可以将多个指针放在一块,凑成指针数组,一次性创建多个指向常量字符串的指针 123456789101112int m ...
【C语言】指针进阶第一站,字符指针&typedef关键字
[TOC] 紧张刺激的寒假学习开始啦! 简单回顾一下指针的概念 内存会划分以字节为单位的空间,每一个字节都有一个编号(地址/指针) 指针变量可以存放这个地址/指针 注:我们日常所说的指针,一般是指针变量 下面让我们坐上指针进阶的🚌,来到第一站!字符指针 1字符指针1.1代码示例112345678int main(){ char ch = 'w'; char* p= &ch; char* pa = "abcdef"; return 0;} 字符变量ch里面存放了字符w 字符指针p里面存放 ...
【教程】Typora+PicGo+阿里云OSS搭建博客图床(超详细)
如果你想搭建一个和本站类似的个人博客,那就需要图床来辅助 [TOC] 为什么要搭建博客图床?以CSDN为例,我们可以选择使用大部分blog平台通用的markdown语法进行博客创作 虽然CSDN自带的编辑器已经能满足我们95%的写作需求 但是Typora在markdown语法编辑上能给你提供更好的写作体验 所以我选择了以Typora+Picgo+图床的方式来进行博客创作 而在本地的markdown文件.md中,图片是以“外链”这一形式存在的 Office word中,图片是直接插入docx文件里面 Markdown中,图片只是一个本地/联网的地址 如图,在markdown里 ...
【C语言】浮点数在内存中的存储(详解)
[TOC] 引言 本文首发于 ❄️慕雪的寒舍 markdown语法小知识点写在前面,markdown语法的小知识点 如何实现文字变红且加上了底色?如hello world markdown语法如下即可! 1`hello world` 以及页内跳转 12<span id="jump">这一句话没啥用</span>[回到开头](#jump) 正题之前学习完了整形、字符类型在内存中的存储,今天让我们来看看float类型! 整数类型👉【int】 字符类型👉【char】 常见的浮点数123.141591E10 浮点数家族包括float、double、long do ...
【C语言】char类型如何在内存中存储?
@[toc] 引子上篇博客向大家介绍了int类型在内存中的存储方式【链接】 本篇博客我们继续往后,看看整形家族里的char类型是如何在内存中存储的吧! char类型字符类型包括以下两种形式 unsigned char 无符号 signed char 有符号 用一个简单的printf来看看它们在打印上的区别 12345678910#include<stdio.h>int main(){ char a=-1; signed char b=-1; unsigned char c=-1; printf("a=%d b=%d c=%d\n",a, ...
【C语言】unsigned无符号类型运用的两个实例
@[toc] 前排提醒😂本篇博客是对下一篇博客《char类型在内存中的存放》的拓展 并非对unsigned类型的详解! 示例1123456789#include <stdio.h>int main(){ int i=-20; unsigned int j=10; printf("%d\n",i+j); return 0; } 当有符号类型和无符号类型相加的时候,编译器是怎么处理的呢? 12310000000 00000000 00000000 00010100 -20的原码11111111 11111111 11111111 11 ...