首页 > 试题广场 >

若有以下定义,说法错误的是()

[单选题]
若有以下定义,说法错误的是()
int a = 100, *p = &a;


  • 声明变量p,其中*表示p是一个指针变量
  • 变量p经初始化,获得变量a的地址
  • 变量p只可以指向一个整形数据
  • 变量p的值为100
变量p的值为地址,*p才为100
发表于 2017-09-17 15:18:06 回复(1)
拆分解析过程:
原程序可以拆写成如下程序
//初始化整形变量a,并赋初值a=100
int a=100;
//声明变量p,*p自然是一个指针变量了
int *p;
//取a的地址赋值给p,赋值了就是初始化过了
p=&a;
所以最后p变量的值应该是整形变量a的内存地址具体是多少题目并未说明,有可能是100,整型变量a的值是100,*p指向变量a,所以*p的值是100,指针指向的内容要与指针类型一致,所以变量p只能指向整形数据
发表于 2022-03-28 20:42:16 回复(0)
<p>A选项错误。应该是定义一个指针变量,因为定义也是声明,但声明不是定义</p><p><u>c选项错误。变量p可以指向一个整形变量,指向整形指针变量要用二重指针</u></p><p><u>d选项中,p指向的变量的值才是100,p的值是a的地址</u></p><p><u>个人觉得b是正确的</u></p>
发表于 2020-08-11 21:31:18 回复(1)
选项D是不对的哦
发表于 2022-06-03 15:17:32 回复(0)