DATE 14

Makefile:
基于这样的现实:
公司的工程代码不可能放在同一个.c(源文件)里面,根据不同的模块进行封装;
导致的错误:
1、多了个.c或者少了个.c文件;
2、工程代码修改了之后==》重新编译==》gcc ...==》第一个错误!


需求:
1、更快捷效率的编译方式;
2、make工程管理器应运而生;
好处:参照《跟我一起写Makefile》文档;


如何使用?
1、首先创建源文件:main.c、add.c、sub.c
2、创建Makefile或者makefile‘,最好用Makefile;
Makefile里面就是一些编译规则,告诉编译器如何编译源文件!
3、Makefile里面的书写规则:
目标:依赖文件
<Tab>键命令
解释:对“依赖文件”执行“命令”来生成“目标文件”
main:main.c add.c sub.c
gcc main.c add.c sub.c  -o main
错误现象:
1、可以根据颜色是否变化来判断写的对不对!!


make的自动推导功能:
当我要生成main.o,make会在当前目录下寻找main.c
@ :在命令的前面加上@,取消回显,也就是命令的执行不在终端上输出;


clean:
只是告诉你接下来要执行的一个命令而已,不需要依赖文件;
也可以把clean的名字改为其他的;


引用变量写Makefile:
定义变量的名字:
CC(变量名) = gcc(值)
引用变量:
$(变量的名字)


数组:
数组的分类:
根据维度来分:一维数组和二维数组;
根据数据类型来分:整型数组,字符型数组,浮点型数组。。。


一维数组:
1、定义:数组的数据类型  数组的名字[常量或者常量表达式];
int num[2 + 8];
2、初始化:
int num[5] = {1,2,3,4,5};
int num[5] = {1,2,3};


//计算数组的元素个数:总价  /  单价
printf("sizeof (num) / sizeof(int) = %d\n",sizeof(num) / sizeof(int));


3、赋值
int num[5];
int num[2] = 10;
num[1] = num[2]; //将num[2]空间里的数据保存到num[1]空间里去;


4、引用:int num[N];
下标法:数组的下标从0开始,最后一位是N - 1;
num[i]做左值,表示空间;
num[i]做右值,表示数据;
二维数组:
1、定义:数组的数据类型  数组的名字[常量或者常量表达式][常量或者常量表达式];
int num[3][3] //3行3列
2、初始化:
int num[3][3] = {1,2.,3,4,5,6,7,8,9};
int num[3][3] = {{1,2.,3},{4,5,6},{7,8,9}};


每一个字节都是有地址的!一个字节一个地址!
3、引用:int num[N][M];
下标法:数组的下标从a[0][0]开始,最后一位是a[N - 1][M - 1];
num[i][j]做左值,表示空间;
num[i][j]做右值,表示数据;


注意的是:
 二维数组在内存里面是按行进行存放的!!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值