社区
非技术类
帖子详情
char str[]=100 char *p=str,,为什么sizeof(p)=4?????
Ge
2003-09-28 05:41:25
还有
void *p=malloc(100),,
sizeof(p)也是4,,为什么,
...全文
234
8
打赏
收藏
char str[]=100 char *p=str,,为什么sizeof(p)=4?????
还有 void *p=malloc(100),, sizeof(p)也是4,,为什么,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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是指指针的大小,不是它指向的空间的大小。
MySQL 数据类型和运算符
============================= # 数据类型 整数类型:五种 TINY SMALL MEDIUM INT BIG 浮点和定点小数类型:三种 FLOAT DOUBLE DECIMAL 日期与时间数据类型:五种 YEAR -1 字符串类型:二种
CHAR
(M) VAR
CHAR
(M) -1 ...
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在这里就是存...
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
];...
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
*p =
str
(
str
为数组名); 与
char
*p = &a(a为变量名);
【前言】将指针变量名与数组名绑定时,以及将指针与普通变量名绑定时,有个小细节要注意。 那就是区分a,&a[0],&a做右值时的区别,特别是在给指针变量赋值时,捋清楚何时需要取地址符号& a 和 &a 做右值时的区别:&a是整个数组的首地址,而a是数组首元素的首地址。两个在数值相等但意义不同 a 和 &a[0]做右值时意义和数值完全相同,...
非技术类
1,649
社区成员
58,980
社区内容
发帖
与我相关
我的任务
非技术类
VC/MFC 非技术类
复制链接
扫一扫
分享
社区描述
VC/MFC 非技术类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章