首页 百科知识 指针变量对数组元素赋值

指针变量对数组元素赋值

时间:2024-10-03 百科知识 版权反馈
【摘要】:字符串指针变量本身是一个变量,用于存放字符串的首地址,而字符串本身是存放在以该首地址为首的一块连续的内存空间中,并以 ‘\0’作为串的结束。字符数组是由若干个数组元素组成的,它可用来存放整个字符串。前面说过,当一个指针变量在未取得确定地址前使用是危险的,容易引起错误。但是对指针变量直接赋值是可以的,因为C系统对指针变量赋值时要给以确定的地址。

用字符数组和字符指针变量都可实现字符串的存储和运算,但是两者是有区别的,在使用时应注意以下几个问题:

(1)字符串指针变量本身是一个变量,用于存放字符串的首地址,而字符串本身是存放在以该首地址为首的一块连续的内存空间中,并以 ‘\0’作为串的结束。字符数组是由若干个数组元素组成的,它可用来存放整个字符串。

(2)对字符串指针方式:

char*ps="CLanguage";

可以写为

char*ps;

ps="CLanguage";

而对数组方式:

staticcharst[]={"CLanguage"};

不能写为

charst[20];

st={"CLanguage"};

只能对字符数组的各元素逐个赋值

从以上几点可以看出字符串指针变量与字符数组在使用时的区别,同时也可看出使用指针变量更加方便。

前面说过,当一个指针变量在未取得确定地址前使用是危险的,容易引起错误。但是对指针变量直接赋值是可以的,因为C系统对指针变量赋值时要给以确定的地址。

因此,

char*ps="CLangage";

或者

char*ps;

ps="CLanguage";

都是合法的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈