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语言基础练习之指针和函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring mvc 中文乱码 post
- 下一篇: step1.day11 C语言基础练习之