1.字符串拼接和打印
sprintf(buf,"my name id %s grade is %f",name,score) buf被定义为后面的字符串
2.指针:
a. 指针本质就是地址,指针/指针变量/地址统称为指针
b. 指针变量:专门存放指针的变量
c. 一般形式:<储存类型> <数据类型> *指针变量名
ex: 一段示例代码
3.函数:具有特定功能的代码模块
<数据类型> 函数名(参数1,参数2,…){
函数体;
}
4.vim分屏:
vsp: 路径
5.拆分:
.h文件:只申明函数
func.c:申明函数的具体实现,不用再次声明,要引用上面的头文件
main.c:在这里引用头文件,不声明就可以调用函数了
引头文件:<>表示从用户里寻找," "则从这里开始寻找
6.标准目录结构:
--souce:存放源文件
--main.c
--*.c
--inc:存放头文件
--*.h
当编译包含自定义头文件的main.c命令:
gcc source/*.c -o app -I ./inc/
-I:指定使用的头文件所在目录:要一起编译
7.结构体
用户自定义的一种数据类型;
一般形式:
struct 结构体名{
数据类型1:成员1;
数据类型2:成员2;
};
}
8.操作文件的流程:
a. 打开文件----int open(filename,mode)
b. 创建文件----int creat(filename,mode)
c. 读/写文件----read()/write()
d. 关闭文件----close()
Linux中,任意一个由shell打开的文件,都天然打开了三个文件(0,1,2):
0:输出缓冲区
1:标准输入
2:标准错误
- main函数命令行传参和文件IO操作:
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int main(int argc,char *argv[])
{
int fd= open( const char * pathname,int flags[,mode_t mode]);
//argc:传入参数的个数,本身也算一个参数
//flag:
//O_RDONLY 以只读方式打开文件
//O_WRONLY 以只写方式打开文件6
//O_RDWR 以可读写方式打开文件
sign=read(fd,buf,N);
//buf:缓冲
//N:自定义的缓冲大小
//sign:读取到的字节数
//使用循环读取,可以以N子节读取完文件所有数据,会自动记录读取到的位置,当读取完有
//效信息后,再次读取sign=0.可以以此判断是否读取到文件末
}