早教吧 育儿知识 作业答案 考试题库 百科 知识分享

本人是C语言菜鸟,大神求打救,简述一下什么是指针,什么是的地址,以下题目的意思是什么?1、变量i的值为3,i的地址为2000,若欲使指针变量p指向变量i,则下列赋值正确的是(D)A)&i=3;B)*p=3;C)

题目详情
本人是C语言菜鸟,大神求打救,简述一下什么是指针,什么是的地址,以下题目的意思是什么?
1、 变量i的值为3,i的地址为2000,若欲使指针变量p指向变量i,则下列赋值正确的是( D )
A)&i=3; B)*p=3; C)*p=2000; D)p=&i;
为什么选D吖?
▼优质解答
答案和解析
指针是地址,指针变量是存储地址的变量.
一个变量的地址称为该变量的“指针”.
内存的每个存储单元都是有编码的,每个编码都不同,这些编码称为地址.
例如:int i=3;
int是类型 告诉系统需要的存储单元.假如系统分配了编码为2000的地址给i,日后在调用i的时候实际上就是通过i找到地址为2000的存储单元,然后调用里面的内容.
定义的指针变量的时候一般形式是:
类型名 *指针变量名
假如有:
int i,k,j;
double a,b,c;
这时想要指向这些变量,就要如下定义:
int *p_i;
p_i=&i; //&是取地址运算符.&i就是变量i的地址.
double *p_d;
p_d=&a;
你想指向的变量是什么类型,你定义的指针就要是什么类型.
另外也可以在定义指针的时候就赋值,如:
int *p_i=&i; (这和*p=&i是不一样的,p是指针变量,*p是指向的地址的内容,定义时 int *p的*p是说p为指针变量的意思.)
A:把3赋值给i的地址,错误
B:把3赋值给p所指向的地址,指针变量p没有指向任何地址,为野指针.
C:在此赋值语句中,2000只是作为一个数值,不代表地址,所以同上.
D:将i的地址赋值给指针变量p
看了本人是C语言菜鸟,大神求打救,...的网友还看了以下: