C提高day01

本文详细介绍了API(应用程序接口)的概念及其与操作系统的关系,对比了CS(Client/Server)架构和BS(Browser/Server)架构的特点。此外还深入探讨了Windows系统中的句柄机制与Linux系统中的文件描述符原理。
摘要由CSDN通过智能技术生成

api,Application Programming Interface,应用程序接口

api=方法=函数

CS:Client/Server

BS:Browser(浏览器)/Server

灵活与安全的权衡

函数打桩,空壳子函数放在那

只有windows中才有句柄,windows中的句柄是指针的指针,因为windows中对象的经常会在内存中移动(如进行垃圾回收后),所以地址值经常会变,所以就对外提供一个指针的指针即句柄给用户,句柄的地址是不会变的。

linux中, 每当进程打开一个文件时,系统就为其分配一个唯一对应的整型文件描述符(从0开始),用来标识这个文件。linux 操作系统通常对每个进程能打开的文件数量有一个限制。默认是1024。

alt,alternate(v.使交替,使轮换)

ctrl,control

space键,enter键

动态数组,数组中的元素是变量

sizeof不是函数,不需要包含任何头文件,单位为字节

scanf()后,开展读字符类操作(getchar,scanf("%c"),gets()等),用getchar()吃掉缓冲区中的换行:

scanf()函数对回车确认符并不进行处理,回车符会留在输入缓冲区中。

在下一个读字符操作函数(getchar,scanf("%c"),gets()等)运行时,会读到这个字符。——笨

在读数值型数据或字符串时,scanf()会从第一个非空白字符(空白字符指:回车键,空格键,TAB键)开始读取,自动忽略前面的空白字符,直至遇到空白字符结束该类型数据的输入。——巧

①fflush(stdin); //清空输入缓冲区

②getchar();

③scanf("%d%*c", &a ); //%*c表示读一个字符,不赋值给任何变量

1、如果函数参数是指针类型,那么在函数内改变指针指向,并不能影响函数外的指针实例。只有传入指针的指针,才能改变指针的指向。
2、指针是地址变量,在函数里改变地址变量的值时,不会改变主函数实参地址变量的值。只有在函数里改变指针所指向的变量的值时 主函数实参指针所指向的变量的值才会改变。

内存四区:堆区、栈区、全局区(data区,bss区,文字常量区)、代码区

指针等于(指向)谁,就把谁的地址赋值给指针,即指针指向了它的内存地址

p,q皆为指针,p=q,p指向q指向的内存地址

堆区释放,free()时,应养成好习惯将指向该区域的指针置空,p=NULL,因为常用

if(p!=NULL){

free(p);

}来判断堆空间是否释放

释放空间的本质,是告知可用,而不是真正清除该空间的数据。

通过传参(在主函数创建一个变量,将其当做子函数的参数)来读取子函数内的数据

栈的生长方向是从高地址→低地址(不同于其他四区,低地址→高地址)和内存的存放方向(低地址→高地址)相反

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值