1)在C系统内部字符串当作一个一维数组,在内存中连续存放。结尾存放字符串结束符,就是ASCII码为0的空字符’\0’,所以字符串常量实质上是指向该字符串首字符的指针常量。如char * p = “point”。
数组名就是存放数组的首地址,如 char sa[]= ”array”;。
2)因为字符串名就是指针常量,使用指针数组来存放字符串指针常量可以方便操作多个字符串。由于数组名也是一个指针常量,所以指针数组名是一个指向指针的指针,可以用“**”来读取他被指向的变量。例如下面的代码:
void main()
{
char * a[2]={"Hello","World"}; printf("%s\n",a[0]); printf("%c\n",**a); getch(); }
输出的结果是: Hello H
3)字符串出来函数主要有输入输出函数:scanf(),printf(),gets(),puts。专门字符串出来函数:strcpy(目的字符串,原字符串),目的字符串是字符串指针,原字符串可以是字符串指针也可以是一个字符串常量。strcat(目的字符串,原字符串),把原字符串中的字符串连接到目的字符串中字符的后面,并删去原字符串后面的字符串结束符。本函数返回的是目的字符串的首地址。strcmp(字符串1,字符串2),按ASCII码顺序比较两个字符串,字符串1等于字符串2返回0,大于返回1,小于返回-1。strlen(字符串),计算字符串长度,不包括结束符。
4)输入命令时,在可执行文件(命令)名的后面可以跟一些参数,这些参数被称为命令行参数。主函数mian(int argc,char * argv[]);有两个参数,第一参数argc接受命令行参数(包括命令名)个数。第二个参数argv[]是个指针数组,接受以字符串常量形式存放的命令行参数(命令名本身也作为一个参数)。字符串1等于字符串2返回0,大于返回1,小于返回-1。strlen(字符串),计算字符串长度,不包括结束符。
4)输入命令时,在可执行文件(命令)名的后面可以跟一些参数,这些参数被称为命令行参数。主函数mian(int argc,char * argv[]);有两个参数,第一参数argc接受命令行参数(包括命令名)个数。第二个参数argv[]是个指针数组,接受以字符串常量形式存放的命令行参数(命令名本身也作为一个参数)。例如下面的代码:
int main(int a,char *v[]) {
int k,s=0;
for(k=1;k<=a;k++)
}
运行结果: 6
|
|