1、字符串
1)定义:由数字、字母、下划线组成的一串字符,编程语言中表示文本的数据类型。通常以串的整体作为操作对象。
2)定义字符串的方式:
a.通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符
char str1[] = "HelloWorld";
b.通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
char *str2 = "HelloWorld";
c.通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
#define str3 "HelloWorld";
3)字符串常用函数
a.函数名:strcpy
功能:串拷贝,函数返回一个字符串
用法:char* strcpy(char* str1,char* str2);
b.函数名:strcat
功能:字符串拼接函数,函数返回一个字符串
用法:char* strcat(char* destin,char* source);
c.函数名:strchr
功能:在一个串中查找给定字符的第一个匹配之处,函数返回一个字符串
用法:char* strchr(char* str,char c);
d.函数名:strcmp
功能:串比较,函数返回一个整型数值
用法:int strcmp(char* str1,char* str2);
2、数组
1)定义:相同元素按一定顺序排列的集合。
2)数组的特殊定义:
int arr[5];
int *p;
p=arr;
a.arr的值是该数组内存的首地址,其指向数组的第一个元素;但&arr是指整个数组的内存块,故arr和&arr的值是一样的,都是该数组的首地址,但他们的含义不一样,及sizeof(arr)不等于sizeof(&arr)
b.p=arr把数组的首地址赋给p,即p现在就是指向数组的首地址,通过p就可以访问整个数组,但是p这里只是是个指针变量,也就是p的本质没有改变,p不能和arr一样代表整个数组的内存
c.arr+1就相当于数组自加一样。
3、字符串和数组联系
1)二者都是一段连续的内存,共性较多;
2)字符在内存中是以ascll码存储的,以%d格式输出一个字符就是输出它的ascll码。
1)定义:由数字、字母、下划线组成的一串字符,编程语言中表示文本的数据类型。通常以串的整体作为操作对象。
2)定义字符串的方式:
a.通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符
char str1[] = "HelloWorld";
b.通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
char *str2 = "HelloWorld";
c.通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
#define str3 "HelloWorld";
3)字符串常用函数
a.函数名:strcpy
功能:串拷贝,函数返回一个字符串
用法:char* strcpy(char* str1,char* str2);
b.函数名:strcat
功能:字符串拼接函数,函数返回一个字符串
用法:char* strcat(char* destin,char* source);
c.函数名:strchr
功能:在一个串中查找给定字符的第一个匹配之处,函数返回一个字符串
用法:char* strchr(char* str,char c);
d.函数名:strcmp
功能:串比较,函数返回一个整型数值
用法:int strcmp(char* str1,char* str2);
2、数组
1)定义:相同元素按一定顺序排列的集合。
2)数组的特殊定义:
int arr[5];
int *p;
p=arr;
a.arr的值是该数组内存的首地址,其指向数组的第一个元素;但&arr是指整个数组的内存块,故arr和&arr的值是一样的,都是该数组的首地址,但他们的含义不一样,及sizeof(arr)不等于sizeof(&arr)
b.p=arr把数组的首地址赋给p,即p现在就是指向数组的首地址,通过p就可以访问整个数组,但是p这里只是是个指针变量,也就是p的本质没有改变,p不能和arr一样代表整个数组的内存
c.arr+1就相当于数组自加一样。
3、字符串和数组联系
1)二者都是一段连续的内存,共性较多;
2)字符在内存中是以ascll码存储的,以%d格式输出一个字符就是输出它的ascll码。