C 语言 整理 10

//#import 与 #include 相比能够防止重复导入,保证内容值只复制一个.
//#include "A.h"
//#include "A.h"
//多个include 修改如下:
#ifndef lessonPointHigher_A_h
#define lessonPointHigher_A_h

int max(int x ,int y)
{
    return x > y ? x :y;
}

#endif

//宏  ,只做替换  //#开头 指令
//命名规则: 1. 全大写  2. k + 驼峰(多个单词组成,每个单词的首字母大写.)
//例如 MAX 或者 kMax
//宏 不是变量
//#define 用来定义宏 COUNT 宏名

//无参宏
#define COUNT 10   //后面不要加分号
//在预编译阶段 COUNT 全部换成 10

//使用宏 应注意的问题:
//1.定义宏时,最后不能加分号.分号也会成替换内容的一部分
//2.参数要加括号
//3.对于有参数宏,宏名与括号之间不能加空格

//有参宏
#define SUM(A,B) ((A) + (B))
//如果先算宏内的运算 定义宏时,加括号  #define SUM(A,B) ((A) + (B))
//宏不限制数据类型
//宏 只是替换功能
//SUM(5,10) * SUM(5, 10)  等于 65

#define AAAA
int main(int argc, const char * argv[])
{
    //条件编译 根据条件来编译不同的代码 ,编译期会将源文件编译成二进制指令,存放在代码区.条件编译经常用来调试程序.
    //条件编译 第一种形式
    //#ifdef 标识符 代码段1 #else 代码段2 #endif
    //如果标识符通过#define 定义过,则编译代码段1 , 否则编译代码段2 . #endif 是编译的结束标志.
    
#ifdef AAAA
    int a =10 ;
#else
    int  a= 20;
#endif
    printf("a = %d\n", a);
    //条件编译 第二种形式
    //#ifndef 标识符 代码段1 #else 代码段2 #endif
//如果标识符没有通过#define 定义过,则编译代码段1 , 否则编译代码段2 . #endif 是编译的结束标志.
#ifndef AAAA
    int b =10 ;
#else
    int  b= 20;
#endif
    printf("b = %d\n", b);
//条件编译 第二种形式
    //#if  常量表达式 代码段1 #else 代码段2 #endif
    //如果 常量表达式 结果非 0  编译器编译代码段1 否则编译代码段2
#if 1
    int c = 10;
#else
    int c= 20 ;
#endif

//结构体指针访问结构体成员,通过指向操作符, 例如:结构体指针变量->结构体成员;
//    printf("%s \n" ,pStu->name);
//    strcpy(pStu->name, "xiaoguang");
//    printf("%s \n" ,pStu->name);
//  //  pStu ++ ;  //增加的是整个结构体的大小.
//    // *pStu 和 xiaoguang 的功能是一样的.都是获取到结构体的内容.

C 语言 整理 10

时间: 2024-08-09 00:12:35

C 语言 整理 10的相关文章

C 语言 整理6

//数组作为参数时,函数调用传入数组名即可 #import "Function.h"int  var = 10; //全局变量,在所有函数中都可以访问.程序运行期间空间不回收. //变量 x y 是在函数内部定义的变量,只能在函数内部有效,在函数之外,就无法访问,所以叫做局部变量,(当函数调用时,为变量开辟空间,当函数结束之后,回收空间.) int maxValue (int x ,int y) //被static 修饰的变量成为静态变量,    //特点: 1.空间值开辟一次,而且在

C 语言 整理8

// int  a  = 010 + 10 ;  //0开头是八进制.    //0b 开头是二进制    //0x 开头是十六进制   // printf("%d " ,a ); //%d 打印十进制整数.    //%x 打印十六进制. (字母小写)   %X  打印十六进制 (字母大写)    // %o 打印八进制    //一个字节 又是八位二进制数.            //位运算符    //按位与 & (同为1 , 则为1 , 否则 为0 );       

C 语言 整理9

//定义一个指针变量 , 和定义整型变量类似,也包括三部分:数据类型 变量名 =  初值    //只不过指针变量用来存储地址而已.    //int  * 指针变量类型 , p 指针变量名 , NULL 指针变量初值.    //int  的作用 : 1,当自增时增加几个字节,2,当存取数据时一次性读取几个字节.    // 定义时 , * 告诉编译器,后面的变量是一个指针变量;       int  * p = NULL ;        //指向关系    p = &a;  //将a 的地

c 语言 整理

// const 修饰变量,把变量当做常量来看待,只能读不能写. //const  修饰谁,谁就不可变 const int *p = &a; //const 修饰 *p, 不能通过指针变量p修改指向空间的内容 ,但是p 可以重指向. int const *p1  = &a ; //const 修饰 *p1, 不能通过指针变量p修改指向空间的内容 ,但是p 可以重指向. (通过*p1 修改指向空间的内容的权限 被限制) int * const p2 =  &a; //const 修饰

C 语言 整理5

// 函数存在的意义:把main 函数中复杂的逻辑进行拆分,有一个一个单独的函数来处理一个单独的模块,main 函数只起到宏观调控的作用./* 函数的定义 : 包括以下四部分: 1.返回值类型(要返回的数据的类型) 2.函数的名字(给函数起一个名字). 3.参数列表(用来接收传入的数据). 4.函数体(函数真正的功能,实际做的操作).*/ /* 函数格式:1.无参数 无返回值. void函数名命名规范: 有单词组成 ,查了第一个单词外,其他单词的首字母 大写. 工程名命名规范: 有单词组成 ,每

C 语言 整理7

#import "Struct.h"//导入自定义的头文件时,用 " "  导入系统定义的头文件时 使用 < > //数组作为函数参数在传递时,值填写数组名即可.   // printAllStudentInfo( b ,5); /** *  结构体嵌套,在一个结构体的结构体成员变量是另外一个结构体类型的变量. */ C 语言 整理7,布布扣,bubuko.com

C 语言 整理1

//枚举类型是一个构造类型,它使一组整型常量,罗列处理所有的可能性.//定义枚举 使用关键字 enum + 枚举类型的名字 { 枚举值,多个枚举值之间通过使用逗号分隔}: 最后的分号必不可少.//枚举类型将人能够识别的标识符,和计算机能识别的数字对应起来. //if(条件表达式){语句} 当条件表达式的条件成立时,执行大括号内的语句,否则执行if之后的语句. //if(条件表达式) {语句1} else { 语 句2} break;//结束当前分支,跳出switch,执行之后的语句. defau

C 语言 整理2

//for    //<#initialization#> 变量初始化    //<#condition#>循环条件    //<#increment#>//变量增量    //<#statements#>循环体,每次反复执行的内容. //循环变量的名字 先以i,j,k,为主. // while和do while 的区别    //对于while 循环,需要先判断循环条件,然后执行循环体,而对于do while 不管条件是否成立,先执行一次循环体,后判断条件

C 语言 整理 3

//定义一维整形数组    //1,数据类型 2,数组名 3, 中括号中填写元素个数 4,初值 ,赋值时使用大括号,内部为每个变量赋初值,中间应聘哪个逗号分割.    //定义数组时,数组元素的个数只能是常量或者是常量表达式,不能为变量.    //取数组中的元素的时候 , 数组名 + 下标. //数组中元素的下标范围 , 0  到数组元素下标 - 1;   数组所占内存空间的大小 = 数组中每个元素所占空间的大小 * 数组元素个数. //外层循环决定比较的趟数    //内层循环比较每趟比较的