【养成记】嵌入式挑战第13天,第二周第四讲-指针函数
2022/9/19 3:17:23
本文主要是介绍【养成记】嵌入式挑战第13天,第二周第四讲-指针函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
【养成记】嵌入式挑战第13天,第二周第四讲-指针函数
课程章节:
物联网/嵌入式工程师 第二周第四讲 1-14 指针函数
课程内容:
对C语言中的指针函数做了介绍
学习笔记:
1. 概述
指针函数
- 本质:是一个函数,只不过返回值是一个地址。
思考:如何定义一个指针函数?
返回值类型 * 函数名称 (类型1 参数1,类型2 参数2 ,…);
2. 示例代码
// // Created by au on 2022/9/17. // #include <stdio.h> #include <string.h> char *design_array(int *len) { static char a[100] = {0}; // len = sizeof(a) / sizeof(a[0]); len = strlen(a); return a; } char *input_array(char *array) { printf("请输入任意的字符串:"); gets(array); return array; } void output_array(char *array) { printf("字符串中的每一个字符依次为:"); // todo 这里的计算结果总是 8/1 // int len = sizeof(array) / sizeof(array[0]); int len = strlen(array); for (int i = 0; i < len; ++i) { printf("%c ", array[i]); } printf("\n"); } int count_space(char *array) { int sum_space = 0; // int len = sizeof(array) / sizeof(array[0]); int len = strlen(array); for (int i = 0; i < len; ++i) { if (array[i] == ' ') { sum_space += 1; } } return sum_space; } /** * (1)要求大家是设计⼀个 design_array()函数,自己定义返回值和参数。 要求 desigan_array()函数中定义一个,static char a[100] = {0};,然后 把数组首地址和长度返回。 (2)设计一个 input_array() 函数,自定义返回和参数,要求用户从键盘 输入任意的字符串,存放到a数组中 (3)设计一个 output_array() 函数,要求输出a数组中的每一个字符, 以空格作为区分. w u h a n s h a n g h a i (4)设计一个 count_space() 函数,自定义返回和参数,要求用户统计数组a中用户 输入的空格个数,并返回值给main函数。 (5)main()函数调用以上函数,并输出空格个数。 * @return */ int main() { int len = 3; char *string = design_array(&len); // printf("该数组的长度为:%d\n", len); string = input_array(string); output_array(string); int sum_space = count_space(string); printf("字符串中空格的个数为:%d", sum_space); }
运行结果
请输入任意的字符串:d df df dfg er 字符串中的每一个字符依次为:d d f d f d f g e r 字符串中空格的个数为:4 请输入任意的字符串:sdf sdfl dsklfj er 字符串中的每一个字符依次为:s d f s d f l d s k l f j e r 字符串中空格的个数为:7
3. 代码示例
3.1. 编译警告,且返回值不是预期,原因何在?
3.2. 对函数中的局部变量添加static后
课程评价:
C语言中的基础库中内置了许多常用的函数,这节了解几个常用的String库中的API。
这篇关于【养成记】嵌入式挑战第13天,第二周第四讲-指针函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?