社区
C语言
帖子详情
关与数组名的疑惑
diedknight
2006-05-26 04:11:12
#include <stdio.h>
void main( )
{
char c[20] = "ha";
printf( "&c = %d, &c[0] = %d, c = %d, c[0] = %c *c = %c \n", &c, &c[0], c, c[0], *c );
}
我运行的结果为什么 &c == &c[0] == c
不是自相矛盾?
哪里有问题?期待指点指点
...全文
205
8
打赏
收藏
关与数组名的疑惑
#include void main( ) { char c[20] = "ha"; printf( "&c = %d, &c[0] = %d, c = %d, c[0] = %c *c = %c \n", &c, &c[0], c, c[0], *c ); } 我运行的结果为什么 &c == &c[0] == c 不是自相矛盾? 哪里有问题?期待指点指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
diedknight
2006-05-29
打赏
举报
回复
谢谢大家
看了大家的这么多说明,终于弄明白了 ~.~
Z_Wing
2006-05-26
打赏
举报
回复
晕,来完了,都说这么清楚了。还是要说一句,楼主的错误在于把数组名c看成了一个变量。
Rain
2006-05-26
打赏
举报
回复
你可以这样理解,数组名就是一个标识,就像引用一样,它不占内存空间,所以&c和c一样
Rain
2006-05-26
打赏
举报
回复
没的问题.数组名的内容就是数组第一个元素的地址。
Ninstein
2006-05-26
打赏
举报
回复
LZ看看这个吧
#include <stdio.h>
void main( )
{
char c[20] = "ha";
char *p;
p = c;
printf( "%x,%x,%x", p,&p,&c);
}
指针常量 指针变量
happytang
2006-05-26
打赏
举报
回复
&c == &c[0] == c
都指的是数组的首地址,一样地
lj860603
2006-05-26
打赏
举报
回复
LZ这样打印的都是字符数组的首地址。
zez
2006-05-26
打赏
举报
回复
就是这样的!!!
数组名字就是它第一个值的地址 !!
数组
名
与内存
本文深入探讨了
数组
名
在内存中的表示方式及其与指针的不同之处,解释了
数组
名
如何表示
数组
的起始位置,以及对
数组
名
进行操作时的特殊行为。
指针和
数组
名
的区别和联系
本文探讨了
数组
名
与指针的区别,指出
数组
名
不是指针,但两者在实际操作中有联系。重点讲解了指针的结构、大小、赋值后的行为,以及const指针的应用实例,解释了const在保护数据安全上的作用。
数组
名
是否就是指针?
本文通过C++PrimerPlus4.23的例子,详细解析了
数组
名
与指针之间的区别与联系。
数组
名
并非简单等同于指针,它们在内存大小、使用方式上存在本质差异。文章深入探讨了
数组
名
作为指针常量的特性,以及如何在实际编程中正确理解和运用这一概念。
数组
名
本文详细解析了C语言中
数组
名
和指针的使用方式,包括它们作为常量的特性、
数组
名
与指针的区别与联系、以及如何通过
数组
名
和指针进行数据操作。通过实验结果的展示,清晰地说明了
数组
名
和指针在不同场景下的行为,旨在帮助读者深入理解C语言底层机制。
【C++基础】
数组
名
的本质:从内存地址到指针退化的全面解析
本文深入解析C++中
数组
名
的本质,重点讲解其在指针退化过程中的行为特征及例外情况。涵盖函数参数中的退化、sizeof陷阱、多维
数组
处理等高频面试考点,并通过大厂真题帮助开发者掌握正确使用方式。
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章