C语言字符串指针变量与字符数组的区别
来源:互联网 发布:淘宝达人怎么发微淘 编辑:程序博客网 时间:2024/04/29 23:52
用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题:
1) 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。
2) 对字符串指针方式
char *ps="C Language";
可以写为:
char *ps;
ps="C Language";
而对数组方式:
static char st[]={"C Language"};
不能写为:
char st[20];
st={"C Language"};
而只能对字符数组的各元素逐个赋值。
从以上几点可以看出字符串指针变量与字符数组在使用时的区别,同时也可看出使用指针变量更加方便。
前面说过,当一个指针变量在未取得确定地址前使用是危险的,容易引起错误。但是对指针变量直接赋值是可以的。因为C系统对指针变量赋值时要给以确定的地址。
因此,
char *ps="C Langage";
或者
char *ps;
ps="C Language";
都是合法的。
1) 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。
2) 对字符串指针方式
char *ps="C Language";
可以写为:
char *ps;
ps="C Language";
而对数组方式:
static char st[]={"C Language"};
不能写为:
char st[20];
st={"C Language"};
而只能对字符数组的各元素逐个赋值。
从以上几点可以看出字符串指针变量与字符数组在使用时的区别,同时也可看出使用指针变量更加方便。
前面说过,当一个指针变量在未取得确定地址前使用是危险的,容易引起错误。但是对指针变量直接赋值是可以的。因为C系统对指针变量赋值时要给以确定的地址。
因此,
char *ps="C Langage";
或者
char *ps;
ps="C Language";
都是合法的。
0 0
- C语言字符串指针变量与字符数组的区别
- C语言字符串指针变量与字符数组的区别
- C语言字符串指针与字符数组的区别
- 12、C语言。指向(只有一个字符的字符串、字符变量、一个字符)的指针变量的相同与区别
- 使用字符串指针变量与字符数组的区别
- 字符数组名与字符串指针变量名的区别
- 字符串指针变量与字符数组的区别
- c语言中字符指针与字符数组的区别
- C语言中,指针字符串与数组字符串的区别
- 11、C语言中字符数组和指针字符串的指针变量
- 字符串指针与字符数组的区别
- 字符串指针与字符数组的区别
- 字符串指针与字符数组的区别
- 字符串指针与字符数组的区别
- 字符串指针与字符数组的区别
- 字符串指针与字符数组的区别
- 字符串指针与字符数组的区别
- 字符串指针与字符数组的区别
- androidl40 之前不支持 支持硬件加速的问题
- eclipse svn is not a working copy 错误的解决办法
- 删除指定目录下所有文件及目录
- Listview结合checkbox实现删除功能
- hive 0.12 使用hbase读取数据的函数调用栈
- C语言字符串指针变量与字符数组的区别
- oracle中根据时间获取最新的一条数据
- 黑马程序员_iOS 的高级控件之UIScrollView
- Java远程调用RMI(Remote Method Invocation)
- FZU Problem 2156 Climb Stairs DP
- android:padding与layout_margin gravity与layout_gravity
- 识别字符串中的外链图片,下载存到本地,并替换图片地址
- GVIM学习(二)
- 文件上传处理函数