C语言第八章指针2概要
Eg8-10 形参用指针 Eg8-10-3: void copy(from , to) char *from, *to; { while ( *from ! = `\0` ) { *to = *from; from++; to++; } *to = `\0`; } main ( ) {char a[ ]="I am a boy!"; char b[ ]="You are a girl!"; copy(a , b); printf ("%s\n%s\n", a , b); } Eg8-10 形参用指针 Eg8-10-4: void copy(from , to) char *from, *to; { while ( *from ! = `\0` ) { *to = *from; from++; to++; } *to = `\0`; } main ( ) {char a[ ]="I am a boy!"; char b[ ]="You are a girl!"; copy(a , b); printf ("%s\n%s\n", a , b); } while((*to=*from)!=`\0` ) { from++; to++; } Eg8-10 形参用指针 Eg8-10-4: void copy(from , to) char *from, *to; { while ( *from ! = `\0` ) { *to = *from; from++; to++; } *to = `\0`; } main ( ) {char a[ ]="I am a boy!"; char b[ ]="You are a girl!"; copy(a , b); printf ("%s\n%s\n", a , b); } while((*to++=*from++)!= `\0`) ; Eg8-10 形参用指针 Eg8-10-4: void copy(from , to) char *from, *to; { while ( *from ! = `\0` ) { *to = *from; from++; to++; } *to = `\0`; } main ( ) {char a[ ]="I am a boy!"; char b[ ]="You are a girl!"; copy(a , b); printf ("%s\n%s\n", a , b); } while((*to++=*from++) ; 字符串的指针和指向字符串的指针变量 8.4.3字符指针变量与字符数组 1. 区别 数组:存元素 指针变量:存串的首地址 字符指针变量与字符数组 2. 赋值 char *sp; sp = "Welcome"; <=首地址 char *sp= "Welcome"; char str[ ]="Welcome"; char str[10]; str = "Welcome"; ? str[ ] = "Welcome"; ? str = {"Welcome"}; ? 字符指针变量与字符数组 3. 值 指针变量:可变 数组: 不可变 Eg8-11: main ( ) {char *a ="I love kitty!"; a = a + 7; printf("%s\n", a); } => kitty! Eg8-11-1: main ( ) {char a[ ]="I love kitty!"; a = a + 7; printf("%s\n", a); } 字符指针变量与字符数组 4. 定义了指针变量,默认定义了数组 Eg8-12: main ( ) { char *a = "I love kitty!"; printf("%c\n", a[7] ); } a[7]按 *(a+7) 执行 =>