指针与字符串编程核心要点.pdfVIP

  • 0
  • 0
  • 约2.07千字
  • 约 9页
  • 2026-01-01 发布于北京
  • 举报

所有跨函数使用区都必须使用指针实现

数组作为形式参数的时候真正的形式参数就是一个指针

指针类型的区也可以用来记录函数的返回值

这种做法可以让函数使用其他函数静态局部变量的区

不可以把非静态局部变量的地址作为返回值使用

指针变量的时候可以使用const关键字

可以把const关键字写在指针的最前面

格式如下

constint*p_num=NULL;

不可以通过这种指针修改区的内容

指针本身的内容是可以修改

实现跨函数使用区的指针都尽量采用这种方法加const关键字

也可以在指针语句中把const关键字加在指针变量名称前

格式如下

int*constp_num=NULL;

可以通过这种指针修改区的内容

不可以修改这种指针里的内容

可以在指针时使用void作为类型名称

这种指针叫做无类型指针(不知道区类型)

可以使用这种指针记录任何区的地址

无法通过无类型指针了解区的类型

无类型指针既不能面加*也不能直接进行加减整数计算

必须首先把无类型指针强制类型转换成有类型指针,然后就可以像普通指针一样使用

无类型指针通常作为函数的形式参数使用(04.c有问题隐式类型转换)

练习

编写函数交换主函数里两个整数变量的内容

C语言里所有文字信息必须记录在一组连续的字符类型区里

所有文字信息的最后必须用’\0’字符作为结尾(这个字符的ASKII码就是0)

同时符合以上两个要求的内容叫字符串,他们可以用来表示文字信息

只有’\0’前面的内容才被认为是有效字符

所有字符串一定可以使用字符指针表示

字符串字面值是一种表示字符串的方法。用两个双引号中间包含的字符表示字符串。例如

“abc”,“^*”等

编译器会自动在字符串字面值后面加’\0’字符

编译器会把字符串字面值替换成第一个字符区的地址

字符串字面值的内容在程序执行过程中不能修改

如果多个字符串字面值内容完全一样则计算机只有一份

可以把两个字符串字面值并列写在一起,编译器会自动把他们合并成一个

字符数组也可以表示字符串

只有包含‘\0’字符的字符数组才可以作为字符串使用

可以采用字符串字面值对字符数组进行初始化,这个时候字符串字面值里的‘\0’字符也会被

初始化到字符数组里

使用字符串字面值对字符数组初始化完成后他们格子占有自己的区,互相无关

字符数组里的字符串内容可以修改

使用%s作为占位符可以把一个字符串打印在屏幕上

Fgets函数可以用来从键盘得到字符串并记录到数组里

这个函数需要三个参数

1、数组名称

2、数组里的区域个数

3、用stdin表示键盘

如果输入的有效字符不能把数组充满就会把用户最后输入的回车也记录到数组里

当发现用户输入过多的数据时就需要把他们清理掉

Strlen函数可以用来统计一个字符串里有效字符个数

为了使用这个函数需要包含string.h头文件

C语言中不可以使用操作符对字符串进行操作

C语言中了一组函数用来对字符串进行操作

为了使用这些函数需要包含string.h头文件

Strcat用来把一个字符串追加在字符数组里原有字符串的后面

如果合并后的字符串超过字符数组的容量就会出严重的错误

Strncat功能和strcat类似不过多了一个用来表示字符数组中空余区个数的参数

Strcpy用来把一个字符串到一个字符数组里

如果字符串超过字符数组的容量也会出严重错误

Strncpy功能和strcpy类似不过多了一个表示数组容量的整数参数

Strcmp用来比较两个字符串的大小返回值用来表示比较结果返回值是1表示前一个

字符串大,返回值-1表示后一个字符串大,返回值是0表示一样大

二维字符数组可以用来记录多个相关字符串

指针数组里的每个区都是指针类型的区

字符指针数组中包含多个字符指针,可以用字符指针数组记录多个相关字符串

通常采用字符指针数组记录多个相关字符串

主函数的第二个参数就是一个字符指针数组,里面的每个字符指针代表一个字符串

练习

编写模拟登陆程序,程序要求用户输入用户名和,如果用

文档评论(0)

1亿VIP精品文档

相关文档