step1 . day10 C语言基础练习之指针和函数
最近指針和字符串、函數(shù)一系列的結(jié)合整的有點(diǎn)蒙,梳理了一下終于有點(diǎn)眉目了,用代碼練習(xí)了一下
1,指針函數(shù)(返回值是指針的函數(shù))
#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.函數(shù)指針(函數(shù)名即使函數(shù)的地址,即使函數(shù)指針)
#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.函數(shù)指針數(shù)組(將多個(gè)函數(shù)指針?lè)湃霐?shù)組中)
#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.函數(shù)指針數(shù)組指針(將函數(shù)指針數(shù)組的地址定義為另一個(gè)指針,一般不常用,就不繼續(xù)舉例下去了)
轉(zhuǎn)載于:https://www.cnblogs.com/huiji12321/p/11150339.html
總結(jié)
以上是生活随笔為你收集整理的step1 . day10 C语言基础练习之指针和函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring mvc 中文乱码 post
- 下一篇: step1.day11 C语言基础练习之