C指针原理 (26)-C指针基础

标签: 指针c语言
1156人阅读 评论(0) 收藏 举报
分类:

7、字符串常量 

#include <stdio.h>

int main(int argc,int **argv){

        printf ("%s","abcdefgh"+2);

}

 

dp@dp:~/test1 % cc test3.c -o mytest

dp@dp:~/test1 % ./mytest

cdefgh

8、函数指针

本博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


通过如下格式来声明函数指针:

返回类型 (*函数指针变量名)(参数列表)

int add(int a,int b);

int main(void){

        int (*myfunc)(int a,int b);

        myfunc=add;

        int x=myfunc(12,36);

        printf("%d",x);

        return 1;

}

int add(int a,int b){

        return a+b;

}

~

dp@dp:~/test1 % cc test1.c -o mytest

dp@dp:~/test1 % ./mytest

48

 

8、命令行参数

打印参数个数,注意,命令本身也是一个参数,所以argc至少为1

#include <stdio.h>

int main(int argc,char **argv){

        printf("%d\n",argc);

        return 1;

}

~

dp@dp:~/test1 % cc test2.c -o mytest

dp@dp:~/test1 % ./mytest 12

下面没有使用argc参数,直接使用了argv参数,通过判断是否null,来决定参数列表是否结束

#include <stdio.h>

#include <stdlib.h>

int main(int argc,char **argv){

        while (*++argv!=NULL)

                printf("%d\n",argv);

        return 1;

}

~

dp@dp:~/test1 % cc test2.c -o mytest

dp@dp:~/test1 % ./mytest -a

-a

dp@dp:~/test1 % ./mytest -a 12 24

-a

12

24

通过如下格式来声明函数指针数组:

返回类型 (*函数指针变量名[])(参数列表)

下面结合函数指针数组与命令行完成一些简单的运算,通过命令行传送运算符与数字。

#include <stdio.h>

#include <stdlib.h>

int add(int a,int b){

        return a+b;

}

int sub(int a,int b){

        return a-b;

}

int main(int argc,char **argv){

        int (*operate_func[])(int,int)={

                add,sub};

        int myresult=0;

        int oper=atoi(*++argv);

        printf ("%d\n",oper);

        int mynum;

        while (*++argv!=NULL)

        {

                mynum=atoi(*argv);

                printf ("%d  ",mynum);

                myresult=operate_func[oper](myresult,mynum);

        }

        printf ("\n%d\n",myresult);

        return 1;

}

dp@dp:~/test1 % cc test2.c -o mytest

dp@dp:~/test1 % ./mytest 0 1 13 52

0

1  13  52

66

dp@dp:~/test1 % ./mytest 1 1 13 52

1

1  13  52

-66

dp@dp:~/test1 %

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:793803次
    • 积分:13796
    • 等级:
    • 排名:第908名
    • 原创:562篇
    • 转载:13篇
    • 译文:1篇
    • 评论:80条
    R语言快速入门视频教学
    麦好的著作

    《机器学习实践指南》第2版出版在即,我高兴地接受了作者的邀请——为本书写推荐序。第2版比第1版增加了更多的案例和算法解析,全书详细介绍了机器学习发展及应用前景、科学计算平台、Python计算平台应用、R语言计算平台应用、生产环境基础、统计分析基础、描述性分析案例、假设检验与回归模型案例、神经网络、统计算法、欧氏距离与余弦相似度、SVM、回归算法、PCA降维、关联规则、聚类与分类算法、数据拟合案例、图像算法案例、机器视觉案例、文本分类案例等机器学习实践与应用。   第2版致力推动机器学习理论在国内的普及和应用,为公司创建更多的商业价值;同时,力争让更多的学生、IT工程师等进入人工智能相关领域,适应智能时代工作的需要。   最后,希望大家喜欢这本书,进而从中受益。
      徐培治   百度在线网络技术(北京)有限公司   2016年3月于北京
    博客专栏
    最新评论