step1 . day10 C语言基础练习之指针和函数
最近指针和字符串、函数一系列的结合整的有点蒙,梳理了一下终于有点眉目了,用代码练习了一下
1,指针函数(返回值是指针的函数)
#include <stdio.h>
char * fun(char * arr);
int main(int argc, const char *argv[])
{
char arr[100]="hello worlde";
printf("str before::%s\n",arr);
fun(arr);
printf("str after::%s\n",arr);
return 0;
}
char * fun(char *arr){
while(*arr){
if(*arr == ' '){
arr++;
continue;
}
*arr -= 32;
arr++;
}
return arr;
}
2.函数指针(函数名即使函数的地址,即使函数指针)
#include <stdio.h>
char * fun(char * arr);
int main(int argc, const char *argv[])
{
char arr[100]="hello worlde";
char *(*p)(char *) = fun;
printf("str before::%s\n",arr);
p(arr);
printf("str after::%s\n",arr);
return 0;
}
char * fun(char *arr){
while(*arr){
if(*arr == ' '){
arr++;
continue;
}
*arr -= 32;
arr++;
}
return arr;
}
3.函数指针数组(将多个函数指针放入数组中)
#include <stdio.h>
char * fun(char * arr);
char * fun1(char * arr);
int main(int argc, const char *argv[])
{
char arr[100]="hello worlde";
char *(*p[2])(char *);
p[0] = fun;
p[1] = fun1;
printf("str before::%s\n",arr);
p[0](arr);
p[1](arr);
printf("str after::%s\n",arr);
return 0;
}
char * fun(char *arr){
while(*arr){
if(*arr == ' '){
arr++;
continue;
}
*arr -= 32;
arr++;
}
return arr;
}
char * fun1(char * arr)
{
while(*arr){
if(*arr == ' '){
*arr = '&';
break;
}
arr++;
}
return arr;
}
4.函数指针数组指针(将函数指针数组的地址定义为另一个指针,一般不常用,就不继续举例下去了)
转载于:https://www.cnblogs.com/huiji12321/p/11150339.html
step1 . day10 C语言基础练习之指针和函数相关推荐
- step1 . day8 C语言基础练习之指针和函数
今天继续复习指针,还是很深奥的,两点注意事项: 1. int型数据可以强制类型转化赋值给指针变量,然后对该地址赋值(用在裸机上): 2.指针数组是数组,存放的是指针,数组指针是数组的指针,存放的是行指 ...
- step1 . day7 C语言基础练习之指针和函数
今天复习之指针即使用指针进行的函数传参,优化一下昨天写的strcpy strcmp strlen strcat,添加了strstr.atoi函数,算是熟悉之前的知识汇总,顺便练习一下封装函数和书写函数 ...
- step1.day11 C语言基础练习之指针和二级指针
梳理了好长时间,总是分不清为什么一级指针能干的事儿为啥引入二级指针,据一个驱动工程师说还是挺常用的,忍者难受尝试使用了一下二级指针. 遇到一个问题是,如果想让一级指针指向移动,二级指针需要的格式是(* ...
- c语言指针指向怎么指,C语言-基础教程-指向指针的指针
一个指针变量可以指向整型变量.实型变量.字符类型变量,当然也可以指向指针类型变量.当这种指针变量用于指向指针类型变量时,我们称之为指向指针的指针变量,这话可能会感到有些绕口,但你想到一个指针变量的地址 ...
- step1 . day6 C语言基础练习之数组和字符串
今天复习之数组即字符串相关知识,贴几个小练习,体会一下数组细节知识点: 1.冒泡排序 #include <stdio.h> #define N 10 int main(int argc, ...
- 【C语言基础】野指针与空指针
全网最接地气的C语言野指针介绍,此处对于野指针与空指针知识点做一些简要的介绍,作者实属初学,写博客也是作者学习的一个过程,难免文章中有内容理解不到位或者有不当之处,还请朋友们不吝指正,希望大家多多给予 ...
- step1 . day4 C语言基础练习之日历
学习完基础循环.选择语句,写一个日历检验水准. 日历核心: 1.选择基础参照,用来计算总天数和周几的参照(since 1900.1.1,这天是周一) 2.闰年平年的判断条件及循环结构 3.计算需要打印 ...
- step1 . day3 C语言基础
C语言还挺杂乱,很多细节知识,不仅要知道理论,还得从编程中慢慢体会,今天天写了一个简单的加减乘除取余程序,慢慢捡起以前学的知识,不过最大的进步是最近用VI慢慢的熟练了起来. #include < ...
- step1 . day5 C语言基础练习之日历(使用函数调用,优化至元年开始时间)
尝试着优化了一下,不知道为什将基准时间1990-1-1改为0-1-1(都是周一)(此处错误,应该是1-1-1是周一,即公元元年是1年不是0年),输出结果都不对,查找了一下解决方案,有个函数可以计算出某 ...
最新文章
- 坚持教学与科研相结合
- 【Android】Pixel 2 解锁 Bootloader
- python基础2(来自廖雪峰的官方网站)
- 一组图诠释CNN及RNN的区别
- 设计模式笔记之五:观察者模式
- python 报ImportError: Install xlrd = 1.0.0 for Excel support错误出现及其解决帮法
- JavaScript中的Function类型总结
- resnet网络结构_ResNet网络详细解析(超详细哦)
- android 自定义view 水波纹进度球
- 大数据:海量数据的存储方案及其对应的高并发解决方案
- 人人商城小程序下单付款报错:“服务器暂时无法处理您的请求,请稍后再试”
- 星期、月份英文缩写对照表
- win7系统还原点来还原系统
- idea 编码扫描插件_用IDEA这样Review代码真牛逼
- IT男的神级吐槽 || 我们IT人的心声(_)
- 常见运放电路分析仿真汇总
- 基于opencv的图片模板匹配及其简单应用
- 在CSS世界的权力——权重
- Code Review(自评)
- Qt (高仿Visio)流程图组件开发(三) 图元基类如何定义,流程图多种图元类型实现
热门文章
- loop指令 c语言,arm汇编loop指令
- 记录x86调试命令总结
- 查看linux显示文件大小,Linux下查看占用最大的文件和文件夹大小
- 记录 之 遇到的 lamda 表达式和功能理解
- 记录 之 最近阅读的动作识别(action recognition)工作
- linux tar.gz文件安装
- mysql done_MySQL 获取游标结果报错:1193-Unknown system variable ‘done’
- Linux网络编程---详解TCP
- [转] CMake入门
- Pwn环境配置(三)——ubuntu环境搭建(新)