10个回答
展开全部
一个指针变量在内存中占两个字节(small模式编译),一个指针变量在内存中占四个字节(32位机器上),一般都是32位机器的,所以四个字节咯。
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。
扩展资料:
使用指针来读取数据,在重复性操作的状况下,可以明显改善程序性能,例如在遍历字符串,查取表格,控制表格及树状结构上。对指针进行复制,之后再解引用指针以取出数据,无论在时间或空间上,都比直接复制及访问数据本身来的经济快速。
指针的机制比较简单,其功能可以被集中重新实现成更抽象化的引用(reference)数据形别。许多编程语言中都支持某种形式的指针,最著名的是C语言,但是有些编程语言对指针的运用采取比较严格的限制,如Java一般避免用指针,改为使用引用。
展开全部
一个指针占4个字节
指针即为地址,指针占几个字节跟语言无关,而是跟系统的寻址能力有关,譬如:以前是16位地址,指针即为2个字节,现在一般是32位系统,所以是4个字节,以后64位,则就占8个字节。
指针即为地址,指针占几个字节跟语言无关,而是跟系统的寻址能力有关,譬如:以前是16位地址,指针即为2个字节,现在一般是32位系统,所以是4个字节,以后64位,则就占8个字节。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-01-08 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
假设q指向int类型变量 (占4个字节)
假设r指向double类型变量 (占8个字节)
sizeof(数据类型) 此运算符功能:返回值就是该数据类型所占的字节数。
sizeof(变量名) 此运算符功能:返回值就是该变量所占的字节数
# include int main(void){
char ch = 'A';
int i = 99;
double x = 66.6;
char * p = &ch;
int * q = &i;
double * r = &x;
printf("%d %d %d\n", sizeof(p), sizeof(q), sizeof(r)); //分别输出不同类型的指针变量名占多少字节。 return 0;
}
运行结果:总结:任何类型的指针变量都是占用4个字节。
假设r指向double类型变量 (占8个字节)
sizeof(数据类型) 此运算符功能:返回值就是该数据类型所占的字节数。
sizeof(变量名) 此运算符功能:返回值就是该变量所占的字节数
# include int main(void){
char ch = 'A';
int i = 99;
double x = 66.6;
char * p = &ch;
int * q = &i;
double * r = &x;
printf("%d %d %d\n", sizeof(p), sizeof(q), sizeof(r)); //分别输出不同类型的指针变量名占多少字节。 return 0;
}
运行结果:总结:任何类型的指针变量都是占用4个字节。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关,譬如以前是16为地址,指针即为2个字节,现在一般是32位系统,所以是4个字节,以后64位,则就为8个字节。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针存的是一个地址,在32位操作系统里面,最大寻址空间位0~2^32-1,即4个字节(32位)就可以表示,相应的在64位操作系统环境中用8个字节表示指针。指针本身所占空间大小与所指对象所占空间大小无关,只与操作系统能够有关。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询