IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言督学营 (Day9-Day10) -> 正文阅读

[C++知识库]C语言督学营 (Day9-Day10)

不要眼高手低

第09次直播 gets()与puts()

上次直播思考

  • 思考: 为什么在打印整型数组的时候需要传递数组的长度,而在打印字符数组的时候不需要传递

解法如下: 巧妙利用字符串结束标志为 '\0'

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

void print(char d[]) {
	int i = 0;
	while (d[i] != '\0') {
		printf("%c", d[i]);
		i++;
	}
	printf("\n");
}

int main08() {
	char c[10] = "hello";
	print(c);
	printf("Hello world");
	return 0;
}

注意:

  • 不能使用gets的VS,请使用下面操作 等价于 fgets(c, sizeof(c), stdin);
  • fgets相对于gets去读取标准输入时,会把\n放到字符数组中,即为把输入回车结束,也进行存储。

解决方法如下:

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>

int main() {
	char c[100];
	fgets(c, sizeof(c), stdin);
	int len = strlen(c);
	c[len - 1] = '\0';
	puts(c);
	return 0;
}

问题引入

  • scanf通过%s读取字符串时,当遇到空格以后,就会匹配结束,这样没办法把一行带有空格的字符串存入到一个字符数组中心
  • puts 只能输出字符串

在这里插入图片描述

常见字符串函数的使用

strcpy

char *strcpy(char *to, const char *from)

在这里插入图片描述

strcmp

在这里插入图片描述
strcat 拼接两个字符串,目标数组要能够容纳拼接后的字符串

第09次直播 指针

指针的定义

  • 使用指针的需求 将某地址保存下来
  • 指针使用的场景 传递与偏移

在这里插入图片描述

指针的定义格式如下

基类型   *   指针变量名

在这里插入图片描述

取值符与取地址符

  • 取地址操作符为&,也称引用,通过该操作符我们可以获取一个变量的地址值;取值操作符为*,也称解引用,通过该操作符我们可以得到一个地址对应的数据。如下图所示,我们通过&i获取整型变量i的地址值,然后对整型指针变量p进行初始化,p中存储的是整型变量i的地址值,所以通过第12行的*p就可以获取整型变量i的值。P中存储的是一个绝对地址值,那为什么取值时会获取4字节大小的空间呢?这是因为p为整型变量指针,每个int型数据占用4字节大小的空间,所以p在解引用时会访问4字节大小的空间,同时以整型值对内存进行解析。

在这里插入图片描述

  • 总结* 取值(解引用) & 取地址 (引用)

第10次直播 指针的应用

指针的使用场景

指针的传递

  • 函数调用的 值传递与引用传递

值传递
在这里插入图片描述
在这里插入图片描述
引用传递

  • 因为传递过去的是地址,所以然后使用解引用即可。
    **值传递**

  • 这也就是为什么,数组可以通过 arr[1] = 6 ; ,进行修改值,数组传递的就是指针。

指针的偏移

  • 数组名a类型是数组,a里边存了一个值,是地址值,是数组的起始地址,

在这里插入图片描述

运用,这种指针偏移技术可以巧妙的输出数组的元素

在这里插入图片描述

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:19:11  更:2021-10-20 12:21:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:55:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码