社区
非技术类
帖子详情
char str[]=100 char *p=str,,为什么sizeof(p)=4?????
Ge
2003-09-28 05:41:25
还有
void *p=malloc(100),,
sizeof(p)也是4,,为什么,
...全文
279
8
打赏
收藏
char str[]=100 char *p=str,,为什么sizeof(p)=4?????
还有 void *p=malloc(100),, sizeof(p)也是4,,为什么,
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bluebohe
2003-09-28
打赏
举报
回复
p是指针,指针是地址,地址是4字节
lif2000
2003-09-28
打赏
举报
回复
4是这个指针所占有的空间大小
cxf1976
2003-09-28
打赏
举报
回复
32位的系统就是这样
晨星
2003-09-28
打赏
举报
回复
char s[] = "……",则不一样,这里,s是个数组名,对数组名进行sizeof运算,得出的是数组的长度。注意,数组名只是个地址,你可以说它是个指针(歧义?),但你肯定不可以说它是个“指针变量”。
晨星
2003-09-28
打赏
举报
回复
p是个指针变量,32为系统中指针变量都是32位的。
dawndu
2003-09-28
打赏
举报
回复
p是个指针,它的大小是32位的,就是4了
HongHuer
2003-09-28
打赏
举报
回复
地址是 32 位。就是 4。
sdchl
2003-09-28
打赏
举报
回复
4是指指针的大小,不是它指向的空间的大小。
C/C++程序设计员应聘常见面试试题深入剖析
C/C++程序设计员应聘常见面试试题深入剖析,不看会后悔!!!!!!!!!
char
*p与
char
**p
char
*p与
char
**p
char
str
[6]={‘H’,‘E’,‘L’,‘L’,‘O’,’\0’}
char
*p=
str
char
** p=&p
char
*p相当于p取了
str
的地址, * p才是
str
的内容。而
char
** p相当 * p于取了
str
的地址,**p才是
str
的内容。而p是 * p的地址 假若
str
是你的钱包,那么
char
* p 中的p在这里就是存...
char
ch[N] 和
char
*
str
= (
char
*)malloc(N*
sizeof
(
char
))用法区别
char
ch[N] ;中数组个数N必须是正整数常量; 所以,当数组个数为变量的时候,就无法使用这种方法定义; 此时就需要申请动态数组 void func(int N) {
char
*
str
= (
char
*)malloc(N*
sizeof
(
char
)); }
c语言
char
str
什意思,
char
*
str
与*
str
的区别
#include#includeintmain(){
char
str
[
100
]={0};//
char
*
str
=NULL;gets(
str
);printf(“%s”,
str
);//fgets(
str
,
100
,stdin);//fputs(
str
,stdout);return0;}如上,本人用
char
str
[
100
]={0};初始化数组,运行后无错误。但是这样:
char
str
[
100
];...
C语言中
char
str
[] 与
char
*
str
的关系
首先,我们得明确,在C语言中,没有真正的字符串类型。 所以,就诞生了 字符串数组 这么个类型。 于是,当我们想申明一个字符串变量时,大体上有下面两种方法:
char
str
[] = "hello";
char
*p = "hello";
str
[]:它定义的是一个字符串数组变量。可以通过
str
[0] = "w" 修改值。 *p:它定义的是一个指针变量。不能通过 *(p+0) = "w" 修改值。 为什么这两种写法都可以呢?这就和C语言中字符串本质有关了。 C语言中字符串本质 是返回一个
非技术类
1,658
社区成员
58,950
社区内容
发帖
与我相关
我的任务
非技术类
VC/MFC 非技术类
复制链接
扫一扫
分享
社区描述
VC/MFC 非技术类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章