标题:一个指针空间问题
只看楼主
Cking
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-9-23
 问题点数:0 回复次数:3 
一个指针空间问题
char str[]="hello";
char *p=char;
int n=10;
sizeof(str)=6;//这个我知道为什么
sizeof(p)=4;//为什么?
sizeof(n)=4;//不是两个字节吗?

//还有
void func(char str[100])
{
sizeof(str)=4;//为什么?
}
void *p=malloc(100);
sizeof(p)=4;//为什么?不懂!


谢谢啊!

[此贴子已经被作者于2007-10-14 22:36:34编辑过]

搜索更多相关主题的帖子: 指针 空间 
2007-10-14 22:36
鸿工作室
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2007-10-14
得分:0 

sizeof(p)=4;//char很简单,就一个字节,四个字母就是4罗
sizeof(n)=4;//VC++中int类型是分配了4个字节的空间的

//还有
void func(char str[100])
{
sizeof(str)=4;//这个应该是100,你再去试试看
}
void *p=malloc(100);
sizeof(p)=4;//这个得看你是指定了什么类型了,如果是int,那就是4罗


2007-10-15 01:17
lee198409
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-10-15
得分:0 

char str[]="hello";
char *p=char;
int n=10;
sizeof(str)=6;//这个我知道为什么
sizeof(p)=4;//指针都是4
sizeof(n)=4;// 这个和编译器有关,也可以是2

//还有
void func(char str[100])
{
sizeof(str)=4;//str仍然是一个指针,和上面p一样的

void *p=malloc(100);
sizeof(p)=4;//和p一样的

2007-10-15 01:21
Cking
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-9-23
得分:0 

非常感谢两位啊!
sizeof(str)=4出现分歧了?


2007-10-15 11:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-177652-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.255997 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved