zoukankan      html  css  js  c++  java
  • learn C on the mac 读后笔记

    phper 学习c的一点笔记。参考资料 learn C on the mac

    图书地址--http://pan.baidu.com/s/1eQBW2hO

    源码地址--http://pan.baidu.com/s/1eQGGkE2

    1,简单的创建就不讲了,从最基本的hello word 开始吧。

    //引入文件

    #include <stdio.h>

    //main函数

    int main(int argc, const char * argv[])

    {

     

        // 输出,尾部换行,最后返回0

        printf("Hello, World! ");

        return 0;

    }

    花键+R运行代码输出结果。

    这里讲下从终端编译并运行代码。

    cd 进到根目录,我们用gcc编译 -o指定文件名。我们上面的文件名是main.c ,so 

    gcc -o main.out main.c

    ls 查看多了一个 main.out 文件。嗯,还记得我们linux上编译安装php么?so ./main.out 来运行文件,输出 Hello, Word!

    好运行完毕。

    ----------有啥用 ? 恩,原来我们定时执行一段脚本,比如晚上1点,将今天新增加的数据导入solr,原来是用crontab 执行一段php脚本,,现在你可以执行一个编译过的c,用来解决php解决不了的问题。

    2,函数的声明,来看下面代码。

     

    #include <stdio.h>

    void SayHello( void );

    int main (int argc, const char * argv[]) {

        SayHello();

    return 0; }

    void SayHello( void ) {

        printf( "Hello, world! " );

    }

    void SayHello 这个函数,除非你写在int main的上面,否则在用的时候必须先声明,python,java,Objective-C都是如此。脚本语言除外,js,php不受此限制。

     

    3,接下来讲的是1byte=8bit。一个bit只能存0或1。所以1byte=2的8次方,即能存0-127共128个数字。

    然后讲的是 ++ - -. 

    int i=2,j;

    j = ++i;则j等于3,难理解的是 j= i++;j等于2,i 等于3,而++的优先级高于 = 。

    书上有符号优先级图标,这里不讲了。

    3,printf( "Looping: %d ", i );,%d输出的i 的值,%d是整数类型,类似的还有

    %d, %i,代表整数,%f-浮点,%s,字符串,%c,char.  %p 指针,%fL 长log,%e科学计数,%g 小数或科学计数

    4,下面就是C语言传的神呼其神的指针了。

    指针有太多可说的东西,理解下指针。

    #include <stdio.h>

     

    int main( void ) {

        int myInt;

        int *a;

        a = &myInt;

        scanf("%d", &myInt);

        printf("myInt %d ", myInt);

        printf("myInt的指针是 %p ", a);

        printf("通过指针访问myInt %d ", *a);

    }

    还有这个,

    #include <stdio.h>

    void    SquareIt( int  number, int    *squarePtr );

    int main (int argc, const char * argv[]) {

        int    square;

        SquareIt( 5, &square );

        printf( "5 squared is %d. ", square );

    return 0;

    }

    void    SquareIt( int  number, int    *squarePtr ) {

        *squarePtr = number * number;

    }

    根php里的引用&,用法相似,但引用非指针,php里的引用只不过是变量的别名。

    5,数据类型,两点给我印象深刻,C里没bool类型,多数情况用1,0表示,。C里也没有string类型,可声明char 数组装string。声明数组前面可加任何C的合法类型,这里就涉及到占用内存问题了。

    6

    对文件的操作,基本跟php一样。

     

    7,第11章可能是本书最有意思的一章了,讲了指针的用法,递归函数,递归加引用的用法,二叉树,二叉树的搜索,函数的指针,初始化,

    和创建你自己的数据类型,包括上面的string,和bool。

  • 相关阅读:
    C#.NET常见问题(FAQ)-如何给Listbox添加右键菜单
    C#.NET常见问题(FAQ)-如何捕捉窗体关闭的事件,弹窗确认是否退出
    C#.NET常见问题(FAQ)-控制台程序如何输出Messagebox
    C#.NET常见问题(FAQ)-TabControl如何隐藏和显示页面
    C#.NET常见问题(FAQ)-SplitPanel如何设置上下和左右
    Oracle 存储过程
    Oracle的存储过程
    Oracle通用分页存储过程的创建与使用
    winform窗体间传值
    多线程下访问控件的方式
  • 原文地址:https://www.cnblogs.com/guanliyang/p/3601801.html
Copyright © 2011-2022 走看看