xjy99 发表于 2017-8-6 15:36:22

指针与字符串

本帖最后由 xjy99 于 2017-8-6 16:41 编辑

举例:
char *a="U lower the IQ of the whole street.";等效于
char *a;
a="U lower the IQ of the whole street.";

[过程]
1>编译器先依次为每个字符分配内存,(挖了好多坑哦)
    比如说:
        1)精心挑选了一个名为66ccff20坑位,把字符'U'扔了进去
        2)然后只好选择名为66ccff28坑位,把字符' '扔了进去
           ......
        n)......
2>依次填完后,先在'.'后再挖一个坑填'\0'
3>然后再把字符U的地址66ccff20赋给a,结束。


char *a="U lower the IQ of the whole street.";
    printf("输出字符:%c /n", *a);/*输出字符,使用"%c"*/   
    printf("输出字符:%c /n", *(a+1) );/*输出字符,使用"%c"*/
    printf("输出字符串:%s /n", a); /*输出字符串,使用"%s";而且a之前不能有星号"*"*/   


/*运行结果如下:
输出字符:U
输出字符:(空格)
输出字符串:U lower the IQ of the whole street.*/

[注]:

1)a [ i ]等效于*(a+i)

2)使用%s,读到'\0'结束
页: [1]
查看完整版本: 指针与字符串