首页 > 软件操作教程 > 编程开发 > C语言
题目内容

C语言 字符指针与字符数组的比较

题目答案

虽然用字符指针变量和字符数组都能实现字符串的存储和处理,但二者是有区别的,不能混为一谈。

(1)存储内容不同。

    字符指针变量中存储的是字符串的首地址,而字符数组中存储的是字符串本身(数组的每个元素存放一个字符)。

(2)赋值方式不同。

    对于字符指针变量,可采用下面的赋值语句赋值:

    char *pointer; 

    pointer="I love c.";

而字符数组,既可以在定义时初始化,也可以对字符数组中的单个元素赋值,如:

    char str[20];

    str[0]="I";

但不能用赋值语句对一个字符数组整体赋值。如下面的用法是错误的:

    char str[20];

    str="I" love c.";

(3)指针变量的值是可以改变的,字符指针变量也不例外。字符指针既可以指向任意字符串,也可以指向字符串中任意字符;而数组名代表数组的起始地址,是一个常量,常量是不能被改变的。

例如:

char s[80]s="Hello";

char *p=s;       /*指针p指向宇符串首地址*/

p-s+3;        /*指针p指向字符串中第3个字符开始的字符串*/

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端