黑马程序员技术交流社区

标题: 指针 [打印本页]

作者: ting00    时间: 2014-6-21 15:02
标题: 指针
本帖最后由 ting00 于 2014-6-22 10:16 编辑

昨天老师讲的指针只能存储的是地址,不能存储变量什么的,但是今天为什么能存字符串了呢?

char  *a = "abcde" ;    为什么?这是为什么?不矛盾吗?  朋友们?
作者: 曹雨    时间: 2014-6-21 16:13
指针是存储地址,char *a是把指针a指向了字符串“abcde”的首地址a的地址。然后输出的时候,程序根据指针找到入口端字符串首地址从a开始输出。直到遇见‘\0’结束,再比如int *p=1,表示*p指向1,p存放的是1的地址。
作者: 剑气近    时间: 2014-6-21 20:14
首先定义了一个char型的指针a,我们知道指针是用来存储地址的,char  *a = "abcde"其实就是将字符串"abcde"的首地址赋给了a,也就是'a'地址,指针a这里存放的不是所谓的字符串变量,希望楼主能想通,多看教程哈
作者: 李斌007    时间: 2014-6-21 22:49
楼上说的很对
作者: 斑马    时间: 2014-6-22 09:47
2楼,3楼已经说的很详细了
作者: chain    时间: 2014-6-22 10:11
字符串也存储在内存中,也有自己的地址,字符串首字符的地址就是字符串的地址,所以此时a指向字符串的首字符
作者: ting00    时间: 2014-6-22 10:15
好的   谢谢大家的回答,我会努力的!!!!




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