美文网首页
C语言基础

C语言基础

作者: 遛遛食 | 来源:发表于2018-10-19 15:04 被阅读0次

    终端编译运行c语言

    编译:

    gcc c语言文件

    会在当前文件夹下生成一个a.out文件
    运行:

    ./a.out

    文件

    在C语言中包含.c文件和.h文件。.h文件一般为函数声明部分,.c文件一般为函数实现。

    文件引用、包含
    include的作用, 是将include右边的文件拷贝到当前文件中。
    include后面的 <> 和 "" 的区别:
    如果使用<>代表会先从开发工具的编译环境中去查找,如果编译环境中没有找到, 那么会再去系统的编译环境中找。
    如果使用""代表会先从当前文件所在的文件夹下面查找,如果在当前文件所在的文件夹下面没有找到, 那么就回去开发工具的编译环境中去查找,如果编译环境中没有找到, 那么会再去系统的编译环境中找。

    C语言注意:

    C语言中每一条语句后面都必须有;号
    main函数中的return 0;可以写, 也可以不写
    main函数前面的int可以写, 可以不写
    main函数后面的()不可以省略
    同一程序中只能有一个main函数

    C语言使用:

    打印:printf();
    获取用户输入:scanf函数-scanf("格式化字符串", &变量);
    sizeof:可以用来计算一个变量或一个常量、一种数据类型所占的内存字节数,sizeof是一个运算符, 不是一个函数,sizeof(变量/常量/数据类型);
    char类型:不看怎么存, 只看怎么取。

    数组

    数组的符号是大括号“{}”。
    数组长度要自己计算:length = sizeof(arr) / sizeof(arr[0]); //所有数据的字节数除以一个数据的字节数即为数据的个数。
    数组不能先定义再进行一次性的初始化,只能初始化赋值。

    字符串

    char str[] = {}; char str[] = “”;
    拼接:strcat(str1, str2, length);//把str2长度为length拼接到str1中。
    拷贝:strncpy(str1, str2, length);//把str2长度为length拷贝到str1中。
    比较:int res = strcmp(str1, str2);//取出字符串中的每一个字符进行逐个比较, 如果发现不相等就不会继续往下比较。
    如果是数组保存字符串,是一个变量,
    如果是指针保存字符串,是一个常量。

    结构体

    数组是用于保存一组相同类型的数据,结构体是用于保存一组不同类型的数据。

    //定义
    struct Person{
            char *name;
            int age;
            double height;
    }
    
    //初始化
    struct Person female = {"mm",16,1.70};
    
    struct Person male;
    male.name = "cf";
    male.age = 18;
    male.height = 1.80;
    
    struct Person sex;
    sex = (struct Person){"gg",18,1.90};
    
    struct Person liuliu = {.name='liuliu',.age=20,.height=1.85};
    

    关键字

    声明变量是一个外部全局变量,或外部函数
    extern type name;
    extern type funName(){};

    声明变量是一个内部全局变量,或内部函数
    static type name;
    static type funName(){};

    #define 宏定义

    #if 条件1
    条件1成立语句
    #elif 条件2
    条件2成立语句
    #else
    条件不成立语句
    #endif

    起别名
    typedef 原有的数据类型 别名(外号)

    const
    如果const写在指针变量名的旁边, 那么指针的指向不能变, 而指向的内存空间的值可以变
    如果const写在数据类型的左边或者右边, 那么指针的指向可以改变, 但是指向的内存空间的值不能改变

    相关文章

      网友评论

          本文标题:C语言基础

          本文链接:https://www.haomeiwen.com/subject/jksyzftx.html