当前位置: 首页 > news >正文

从0开始跟小甲鱼C语言视频使用linux一步步学习C语言(持续更新)8.13

第十五天
昨天休息了一天
第四十七,四十八,四十九。五十和五十一集

第四十七集

字符数组和字符指针变量的区别

字符数组有元素,元素中放字符
字符指针变量则只是放地址
赋值方法也是不同的
在这里插入图片描述
对与数组的初始化:char str[20]={“I love Fishc.com!”};
不能等价于char str[20];str[ ]=“I love Fishc.com!”;
为什么呢?
因为
然后就是这里小甲鱼说是危险的地方
在这里插入图片描述
大家估计没听明白,他的意思是有人忘记给a赋地址了,那么a的地址是随机的。
指针变量的值可以改变,小甲鱼例子清晰展现,为什么字符指针加了7,是打印7后面的字符呢?这里小编猜测,是因为,这里的首地址往后了7,但是如以前的首地址一样,会打印后面的,所以也是打印7后面的。
还有就是定义了一个指针变量,可以用下标形式应用其所指的字符串中的字符,我大概问了下百度,是因为数组名本质是一个指向首元素的常量指针,因此指针可以模拟数组的行为。

函数指针变量调用函数

声明一个函数指针
形式如这样 int (*p)(),大家看视频就好了,很具体

用指向函数的指针作函数参数

在这里插入图片描述
大家直接琢磨这张图,就好了,没有那么难。

第四十八集

返回指针值的函数

在这里插入图片描述
基本以及格式,
题目有点那看,不过时间久了就可以看出,这土木的升级就不搞了,大体就是循环对一行的数组里面值的对比,然后if判断打出学生号。

指针函数和函数指针的区别

莫非是一个输出指针的函数和一个有函数地址的指针罢了。
在这里插入图片描述

指针数组

在这里插入图片描述
很好很清晰得明白这个name[[5]指针数组了吧
这里的例题小编是懵懵的
在这里插入图片描述
这里要看懂是花了点时间的,但是为什么用这个方法呢?没有其他取代了吗?小编是不知道的,要想对比的话,应该是有更脑 好的方法吧?

指针的指针

在这里插入图片描述
这个例题易错
在这里插入图片描述
这里为什么用char **p呢?
因为上面是char *name【】这里每个元素存放着指针 变量,所以要用指向指针的指针变量p。

指针数组作main函数的形参

在这里插入图片描述
main函数可以有形参。
在这里插入图片描述
大家看看吧
main参数是从其他文件来

第四十九集

指针的数据类型小结

在这里插入图片描述

指针的运算小结

在这里插入图片描述
这里小甲鱼没说两个指针相减是怎么样的,这里我问了ai,是这样的,就是输出两个下标相减的值,没了。

void指针和const指针

void指针
在这里插入图片描述
const指针
作用就是使变量常量化,使其不能够被改变
关于const的例题,小编感觉复杂不清楚,于是小编就先放下了,以后再说
最后的memcpy也是。

第五十集

预处理说说

#不必多说,之前也将讲过,

大小写和题

就是小甲鱼搁那说,听就好了,难度有的,听不懂没关系。

typedef定义

在这里插入图片描述
这个有意思,他是重新命名
在这里插入图片描述
就是像int char 这些重新命名,就是你打出char,可以打出pin2,就是直接更改了名字了,就是本来执行整形定义的名字为int,重命名之后就是其他你自己写的那个名字。
而define是替换功能,仅仅只是替换,char的名字依旧是char,只pin1有char的功能罢了。
这也介绍为pin1只声明了x,而pin2声明了a,b

宏定义的嵌套

不要循环和递归,实现打印数字0到999
在这里插入图片描述
这个理解很简单,从最外层看简单点。
开始定义了A(x) 10个x;
外面看也就是有10个A(A(printf(“%d”,n++)))
继续外层也就是这10个A(A(printf(“%d”,n++)))
一个里面有10个A(printf(“%d”,n++)),那么算出来有10乘10个也就是100个A(printf(“%d”,n++)),
100个A(printf(“%d”,n++))里面每一个有10个printf(“%d”,n++)也就是有100乘10个也就是1000个printf(“%d”,n++),也就是打印一千次,然后i++,打印0到999。简单来说就是10的3次方次。

第五十一集

带参宏定义

在这里插入图片描述
就是如此
在这里插入图片描述
亦或是啥??先不管了
还有就是注意是否要加括号
在这里插入图片描述
最后这里的str【0】=0是否大家也会和我一样有疑惑。这里明明只是第一位为0,后面是不为空白而且有数据的吧?如果要打印的话,后面有数据的也会打印出来吧,但是这里运行完,结果是不会的,为什么呢?有没有大佬解答一下?

总结

函数指针变量来调用函数,指针作函数参数,返回指针值的函数,指针数组和指针指针,最后的运算。
宏定义。
今天也就结束了,没有什么了,喜欢的点点赞,作者也是初学者,可以大家一起交流,老手看到错误或者不好的地方,在评论区留言,作者我大大感谢!!

http://www.dtcms.com/a/329082.html

相关文章:

  • SplitLanzou安卓版(蓝奏云第三方客户端) v1.8.2 免费版
  • 云计算-实战 OpenStack 私有云运维:服务部署、安全加固、性能优化、从服务部署到性能调优(含数据库、内核、组件优化)全流程
  • 飞凌OK3568开发板QT应用程序编译流程
  • Nginx 超详细详解和部署实例
  • 大致计算服务器磁盘使用情况脚本
  • 从零到一:TCP 回声服务器与客户端的完整实现与原理详解
  • pycharm配置连接服务器
  • 解析Vue3中集成WPS Web Office SDK的最佳实践
  • 物理服务器和虚拟机在性能上的不同
  • 【opencv-Python学习笔记(3):色彩空间类型及其转换】
  • 【Abp.VNext】Abp.Vnext框架模块学习
  • 工业元宇宙:迈向星辰大海的“玄奘之路”
  • TCP客户端Linux网络编程设计详解
  • docker+nginx+keepalived+openappsec+web ui+crowdsec部署安全代理
  • IDEA创建一个VUE项目
  • SVN提交服务器拒绝访问的问题
  • 服务器硬件电路设计之 I2C 问答(五):I2C 总线数据传输方向如何确定、信号线上的串联电阻有什么作用?
  • 从零开始搭建私服务器
  • opencv:直方图
  • 【AI论文】GLM-4.5:具备智能体特性、推理能力与编码能力的(ARC)基础模型
  • Visual Studio Code 跨平台快捷键指南:Windows 与 macOS 全面对比
  • 第十三节:后期处理:效果增强
  • 开发避坑指南(24):RocketMQ磁盘空间告急异常处理,CODE 14 “service not available“解决方案
  • 2025年,Javascript后端应该用 Bun、Node.js 还是 Deno?
  • python基于Hadoop的超市数据分析系统
  • 高防CDN和高防IP的各自优势
  • Sklearn 机器学习 异常值检测 孤立深林
  • 《设计模式之禅》笔记摘录 - 15.观察者模式
  • 【完整源码+数据集+部署教程】军事伪装目标分割系统源码和数据集:改进yolo11-EMSC
  • 最新去水印小程序系统 前端+后端全套源码 多套模版 免授权