【养成记】嵌入式挑战第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。
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦