day2

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:标准错误
  1. 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.可以以此判断是否读取到文件末

}
posted @ 2020-09-01 18:59  盐亭的森林  阅读(86)  评论(0编辑  收藏  举报