c语言的指针类型。都有那些?在内存中如何分配?

 我来答
aafengyuan
2012-04-11
知道答主
回答量:16
采纳率:0%
帮助的人:13万
展开全部
指针类型:所有能定义变量或对象的类型都可以定义指针.
内存分配:与CPU相关,指针大小为一个机器字长.16位机指针大小为2字节,32位机指针大小为4字节,64位机指针大小为8字节
201007031324
推荐于2016-01-03 · TA获得超过1239个赞
知道小有建树答主
回答量:505
采纳率:0%
帮助的人:233万
展开全部
基类型加*
基类型有多少,指针类型就有多少。
计算机为指针分配时都是4字节,不分类型
如:
char *p;
int *p;
float *p;
double *p;
struct student *p;
union student *p;
void *p;
等等,占的内存都是4字节
不懂的追问
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
双鱼座大叔0309
2012-04-11 · TA获得超过255个赞
知道小有建树答主
回答量:209
采纳率:100%
帮助的人:165万
展开全部
任何存在的数据类型都可以有指针,在内存中分配可以用 malloc/relloc函数申请内存空间

使用完以后记得用free
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuripa1018
2012-04-15 · TA获得超过332个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:154万
展开全部
计算机内存分为三个区域,静态区、栈区、堆区;静态区存放常数、静态变量、全局变量;栈里面存放函数内定义的局部变量;堆区存放程序动态生成的对象,例如malloc和new产生的对象。指针类型和一般变量没有区别,在内存中分配的位置也是上面说的那个方式。
也就是说全局变量的指针放在静态区,函数内部定义的指针放在栈里,用new和malloc申请的指针(注意这里是指针而不是指针的所指的对象,虽然指针的所指的对象也是放在堆里的)放在堆里。而指针因为里面存放的是地址,所以指针的大小就是由地址的长度来决定了。也就是说32位机的指针大小就是32位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式