黑马程序员技术交流社区

标题: 数组名与指针变量 [打印本页]

作者: 王海江1    时间: 2014-6-16 15:04
标题: 数组名与指针变量
#include <stdio.h>

int main()
{
         char name[]="jack";
         int *p;
         p=name;
         printf("%s",name);    或者写成printf("%s",p);
此时的name和p都代表的是什么??????应该不是地址吧






}

作者: siegee    时间: 2014-6-16 15:25
p=name ,根据赋值兼容原则,类型不匹配,有警告。name和p都指向存放jack的内存,强制运行可以打印结果。
作者: 夏沫的黄昏′    时间: 2014-6-16 15:52

#include <stdio.h>

int main()
{
    char name[]="jack";
    char *p;
    p=name;
    printf("%s",name);
    printf("%s",p);
}
代码应该改成这样  p是指针 指向 jack这个字符串所在的内存地址
name事实上也是一个指针 指向 jack

  p=name;  就代表着  把name指向的指针地址 给 p

事实上都是 指针。 只不过表现的形式不同  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2