首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

int *q=100; 不对,原理是怎样的?解决方案

2012-02-15 
int *q100 不对,原理是怎样的?为什么char*p abc 就行?能说说原理马?[解决办法]int *q100编译器并

int *q=100; 不对,原理是怎样的?
为什么char   *p= "abc ";就行?
能说说原理马?

[解决办法]
int *q=100;
编译器并没有为100开辟存储空间,p指向哪里?

char *p= "abc ";
"abc "是常量字符串,被存储在静态区,p指向他们的首地址。

[解决办法]
int *q = 100;

q是一个指针变量,它指向一个int类型的数据的地址;100是一个常值,如果将它直接赋给q,如

果这个操作是正确的,那它的含义是将q指向内存地址位100的内存空间。很显然,这是不能够允

许的,如果允许这种直接给指针赋常值,那人人都是黑客了,想破坏系统易如反掌了。

char *p= "abc ";

首先在内存中开辟了一个静态的区域,用来存储 "abc ",然后用p指向这个字符串的首地址,这是

正确的。

热点排行