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

C语言查漏补缺

1、数组初始化时,例如char arr[5] = "abcde",因为字符串中有6个字符,即末尾还有个结束符,但是数组容量为5,所以仅接纳5个字符,末尾的结束符不会被接纳,故而这样的字符数组在直接输出时可能会发生乱码,因为没有结束符。

2、gets函数类似于scanf函数,用于读取标准输人。前面我们已经知道scanf函数在读取字符串时遇到空白字符就认为读取结束,所以当输入的字符串存在空格时,我们需要使用gets函数进行读取,因为gets在读取标准输入缓冲区内容时,只会在遇到换行符'\n'才会停止读取。

3、scanfgets都具有自动在读取到的字符串末尾追加'\0'的功能。

4、getsputs是专门针对字符串的函数,他们两个的参数只有也只能是字符指针。

5、c是字符指针,puts(c)等价于printf("%s\n",c),会自动于字符串末尾加上换行符。

6、指针变量本身的大小取决于操作系统的位数,因为操作系统的位数就是这个操作系统中内存地址上限的位数,而指针变量就是存放内存地址,所以指针变量本身的容纳范围就是内存地址上限位数。

7、&的作用是获得变量对应的指针变量,而非获得地址常量,也就是说&获得的东西具有对应变量的量级和起始地址两样属性,故而可以这样使用:*&a

8、*在作用于指针变量时,会根据指针变量的类型,也就是它的量级,来限定自己在内存中的读取范围,例如如果是整形指针,那么就会读取从首地址开始往后4字节的内存空间中的内容。

9、字符串“字符串内容\0”的双引号""会返回字符串内容在内存空间中的首地址

相关文章:

  • 2025年渗透测试面试题总结-安恒[实习]安全工程师(题目+回答)
  • 中级网络工程师知识点4
  • 灵光一现的问题和常见错误2
  • 芯片生态链深度解析(二):基础设备篇——人类精密制造的“巅峰对决”
  • 劳特巴赫trace32负载率测试
  • [YOLO模型](4)YOLO V3的介绍
  • 新的节能技术和一体化解决方案,推动工厂智能升级和产业转型
  • 开源RTOS(实时操作系统):nuttx 编译
  • MyBatis 核心组件源码分析
  • 车载诊断架构 --- 核心网关流控制机制需求
  • 一个指令,让任意 AI 快速生成思维导图
  • 【单机版OCR】清华TH-OCR v9.0免费版
  • Win11下轻松搭建wiki.js,Docker.desktop部署指南(mysql+elasticsearch+kibana+wiki.js)
  • 嘉立创EDA成图:文件管理
  • C++ 蓝桥 STEMA 真题模拟测试卷一
  • 全局异常处理:如何优雅地统一管理业务异常
  • Java 方法向 Redis 里操作字符串有什么需要注意的?​
  • PyTorch实现CrossEntropyLoss示例
  • AMD Vivado™ 设计套件生成加密比特流和加密密钥
  • Linux_ELF文件
  • 海外考古大家访谈|冈村秀典:礼制的形成与早期中国
  • 世界数字教育大会发布“数字教育研究全球十大热点”
  • 小雨伞保险经纪母公司手回集团通过港交所聆讯
  • 马上评|中学生被操场地面烫伤,谁的“大课间”?
  • 北方产粮大省遭遇气象干旱,夏粮用水如何解决?
  • 为什么越来越多景区,把C位留给了书店?