通过指针引用字符串
2015-09-08 10:29
246 查看
字符串的引用方式
(1)字符数组
(2)字符指针变量
char *string = "I love China!";
等价于
char *string;
string = "I love China!"; //把字符串第一个元素的地址赋给字符指针变量string
字符串的输出:一个个字符输出%c 整个字符串输出%s
在内存中,字符串的最后被自动加了一个 ‘\0’ (字符串结束标志)
一个简单的例子:
#include <stdio.h>
int main()
{
char a[] = "I am a boy.", b[20];
char *p1, *p2;
p1 = a; p2 = b;
for (; *p1 != '\0'; p1++, p2++)
*p2 = *p1;
*p2 = '\0';
printf("string a is:%s\n", a);
/*printf("string b is:%s\n", b);*/
p2 = b;
printf("string b is:");
for (int i = 0; *p2 != '\0'; i++, p2++)
printf("%c", *p2);
printf("\n");
return 0;
}
重点!使用字符指针变量和字符数组的比较:教材P263~266
再次强调,指针变量定义后,要指定数组或字符串。即 要对应起来,联系起来。
回顾:地址传递 即在被调用的函数中可以改变值,在主调函数中可以引用改变后的值。
(1)数组名作为参数 (2)指针变量作为参数
(1)字符数组
(2)字符指针变量
char *string = "I love China!";
等价于
char *string;
string = "I love China!"; //把字符串第一个元素的地址赋给字符指针变量string
字符串的输出:一个个字符输出%c 整个字符串输出%s
在内存中,字符串的最后被自动加了一个 ‘\0’ (字符串结束标志)
一个简单的例子:
#include <stdio.h>
int main()
{
char a[] = "I am a boy.", b[20];
char *p1, *p2;
p1 = a; p2 = b;
for (; *p1 != '\0'; p1++, p2++)
*p2 = *p1;
*p2 = '\0';
printf("string a is:%s\n", a);
/*printf("string b is:%s\n", b);*/
p2 = b;
printf("string b is:");
for (int i = 0; *p2 != '\0'; i++, p2++)
printf("%c", *p2);
printf("\n");
return 0;
}
重点!使用字符指针变量和字符数组的比较:教材P263~266
再次强调,指针变量定义后,要指定数组或字符串。即 要对应起来,联系起来。
回顾:地址传递 即在被调用的函数中可以改变值,在主调函数中可以引用改变后的值。
(1)数组名作为参数 (2)指针变量作为参数
相关文章推荐
- 关于指针的一些事情
- Lua和C语言的交互详解
- C# Pointer指针应用实例简述
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C++智能指针实例详解
- C语言泛型编程实例教程