网站建设资讯

NEWS

网站建设资讯

c语言中char*代表什么

1 c语言中,char* 代表 字符指针类型,当其指向一个字符串的第一个元素时,它就可以代表这个字符串了

创新互联服务项目包括湾里网站建设、湾里网站制作、湾里网页制作以及湾里网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,湾里网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到湾里省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

2 示例

#include

int main(){

    char* str = "learn c";

    printf("%s\n", str);

    getchar();

    return 0;

}

/*运行结果是

learn c

*/

3 分析

  在char* str="learn c";中,"learn c"是长度为8的字符数组常量,其最后一个元素是'\0',而这句代码执行的结果是将str指向了"learn c"的第一个字符'l',str后面的连续内存依次存放'e','a','r','n',' ','c','\0'

4 扩展

  c语言中的字符串是用字符数组来表示的,只是c语言规定了一个字符串结束标志,即字符'\0',也就是遇到字符'\0'时,这个字符串就结束了

5 关于 * 和 & 的谜题

假设有一个 int 类型的变量 a,pa 是指向它的指针,那么*&a和&*pa分别是什么意思呢?

*&a可以理解为*(&a),&a表示取变量 a 的地址(等价于 pa),*(&a)表示取这个地址上的数据(等价于 *pa),绕来绕去,又回到了原点,*&a仍然等价于 a。

&*pa可以理解为&(*pa),*pa表示取得 pa 指向的数据(等价于 a),&(*pa)表示数据的地址(等价于 &a),所以&*pa等价于 pa。


本文标题:c语言中char*代表什么
本文URL:http://cdweb.net/article/pcesjj.html