第十天
%s从给定的地址开始,一直输出字符,直到遇到\0结束
如果以%s格式就行输入的话,注意空格问题,如果输入的字符串有空格,则空格后面的字符无法被接收
输入的字符串要小于数组长度
计算字符串长度:
1)使用字符串函数 strlen()
2) 以‘\0’作为条件,进行判断,遇到\0 就结束
不包含’\0’
char arr[10]="asdw";
int i=0;
while (arr[i]!='\0')i++;
printf("%d\n",i);
包含’\0’
char arr[10]="asdw";
int i=1;
while (arr[i-1]!='\0')i++;
printf("%d\n",i);
字符串函数的使用
puts()
输出一个字符串
puts函数可以自动换行
必须是字符数组
不可以格式化输出
gets()
输入一个字符串
scnaf(“%s”,str); 缺点,输入字符串的时候不能空格
gets可以接收空格
strcat()
链接一个字符串
使用该函数,要引用头文件#include<string.h>
格式:srtcat(old,new);old的长度要足够长
strcpy()
字符串拷贝函数
strcpy(old,new); new会把old覆盖
old要足够大
strcmp
字符串的比较函数,比较ASCII码值
strlen
计算字符串的长度
strlen 不包含‘\0’
指针
指针是一个地址,是一个常量
指针变量:存放地址的变量
定义一个指针变量:
1)指针类型说明
2)指针变量名
3)变量值
”*“的两种用法
1)用于定义一个指针变量
2)获取值
指针变量如果不初始化会有什么后果?
可能会系统崩溃
指针的好处:
a.为函数提供修改调用变量的灵活手段
b.让函数有多个返回值
c.可以改善某些子程序的效率
d.为动态数据结构提供支持
指针为什么要区分类型?
在64位编译器中,所有指针占8个字节
定义什么类型的指针就应该指向什么类型的变量
|
|