C语言学习,在这里推荐浙江大学翁恺老师的视频,慕课网网址:https://www.icourse163.org/learn/ZJU-9001?tid=9001#/learn/content
。笔者的复习笔记也主要是根据该视频进行。本文的主要内容如下
- 程序设计与C语言
- 计算
- 判断
- 循环
- 循环控制
- 数据类型
- 函数
- 数组
- 指针
- 字符串
字符串;字符串函数;上机10; - 结构类型
- 程序设计
- 文件
- 链表
refer
1.
10.1 字符串
一、字符数组
字符数组和字符串不同,字符数组就是以char的数组实现的,其结尾不需要加'
举例如下:'char'
'
二、字符串
而字符串的结尾需要加[,字符数组的长度增加了一字节,如下:
在string.h的文件内有很多处理字符串的函数。在这里需要注意的是字符串和字符数组的索引都是从0开始的。
字符串变量的常见书写方法有以下几种:
] str='1' , {'}'; char*=
"1" ;str // 指针形式,最常见的形式1 char[ ]
= str"1"; // 数组形式,最常见的形式2 char[ 2
] str="1"; char *str = "1";
const char *str
char s[] = "1";
C中,字符串的是以字符数组的形态存在的,但是仍然存在区别。需要注意的是"%s"
是一个char类型,通过指针不能修改,所以如果创建需要修改的字符串,应该创建字符数组*
那么何时用指针,何时用数组呢?如果要构造一个字符串用数组(需要改变内容),如果要处理一个字符串用指针(不需要改变内容)。
三、字符串的输入输出
除了整型和浮点型,字符串属于新的类型。他的输入输出也不同。输入输出需要用到[。例如:
四、字符串数组
有时候我们需要使用多种字符串,可以使用的声明方式有:
] ;a// a是一个一维数组,其中每一个a[n]都是一个char *字符串,即通过指针不能更改的字符数组char* <=
看char *a[]时候,可以先把[]忽略不看,这样比较好理解。
五、程序参数
我们需要注意的是:
= conststr char*> // char *字符串是通过指针不能修改的字符数组 char conststr *
[ ] <=argv=const char*> [ ] // 通过指针不能修改(const写前写后无所谓)argvchar* const
[ ] ; argv// 指针不能修改(const用于修饰变量)int main(int argc, char const *argv[])
回到main函数,我们能看到main函数的完整构造是
。其中argc是argument count缩写,argv是argument value的缩写,即运行程序的参数。例子如下:
我们需要了解两个常用的字符输出/输出函数putchar和getchar。
Unix的terminal中,停止输入是ctrl+d,终止程序是ctrl+z
字符串函数存在于string.h中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)