C语言 第十一章第十二章

第十一章 字符串和字符串函数

定义:字符串是以空字符为结尾的char类型数组。
1.字符串的输入
gets()函数
它区别于getchar()函数,getchar()是输入单个字符,gets()是输入字符串。区别于scanf("%s",a)函数, scanf()只能读取一个单词,gets()读取整行输入,直到遇到换行符。
gets()会在显示的字符串末尾自动加上空字符。

2.字符串的输出
puts()函数(他会在现实的字符串末尾自动加上空字符)
直接调用即可 puts(a);
putchar()函数输出单个字符(输出一个字符后停止输出)。
scanf(“%s”,a)函数输出单个单词(遇到空字符就会停止输出)。

3.字符串输入\输出 (gets()和puts()函数) 的代替品
fgets()函数
fputs()函数
gets_s()函数
s_gets()函数
(以上几种不做介绍,一种操作好几种函数都可以实现,在C语言中屡见不鲜,先掌握一种即可,等其余的会遇到的时候再详细掌握即可)
这几种输出输入会考虑到字符串的大小问题,在gets()和puts()函数中会发生溢出。
但是gets()和puts()函数为什么还存在着,是因为这种溢出可以由程序员控制。程序员要考虑到定义的字符串的大小,在进行输入\输出的时候,会不会产生溢出,这样根据大小设计就可以避免错误。

第十二章 存储类别、链接和内存管理

1.存储类别
(先不关注)

2.分配内存
在确定用哪种存储类别后,根据已制定好的内存管理规则,将自动选择其作用域和存储期。
还有更灵活的选择,即使用库函数分配和管理内存。
malloc()函数,它返回动态分配内存块的首字节地址。
使用malloc创建一个数组。除了使用malloc()函数在程序运行时请求一块内存,还需要一个指针记录这块内存的位置。
在使用完之后需要使用free()函数释放掉malloc()函数申请的内存。

#include<stdlib.h> 
	double *pi;
	pi=(double*)malloc(30*sizeof(double));
	free(pi);

为30个double类型的值请求内存空间,并设置指针pi指向该位置

3.ANSI C类型限定符
const类型限定符
const int *a //a指向的值不可变,a指向的位置可变
int *const a //a指向的位置不可变,a指向的值可变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值