指针变量改值
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/14 02:06:38
#includeintmain(){\x05inta=5;\x05intb=6;\x05int*pa=&a;\x05int*pb=&b;\x05printf("a=%d\nb=%d\n",*pa,*p
charc=*s[n];n为元素标号
变量实际上是一个地址如inta;int*p=a;指针变量p,就是a的地址指针变量的内容*p,就是a的值
严格地说,一个指针是一个地址,是一个常量,而一个指针变量却可能被赋予不同的指针值,是变量,通常把指针变量简称为指针,指针是特殊类型的变量,其内容是变量的地址,指针变量的值不仅可以是变量的地址,也可以是
指针变量:int*pi指向的对象是常量的指针constint*pi:*pi是不可以改变的,*pi=2之类的对于*pi的操作都是不可取的,但是可以改变pi指向的地址,即可以改变指针指向的地址,但是不可以
概念这种东西不用多说.指针变量记录的是内存地址.譬如0x00ff14ac定义一个指针(int类型)int*p此处*仅仅是符号,表示p变量是一个指向int类型的指针变量例如,inta=1;int*p=&
指针一般情况下是指针变量的简称,如:inti,*pi=&i;我们常说定义了一个整型指针(变量)p,p指向i(的地址),实际上应该说,p中存储了i的地址.还有一种情况,当我们把地址值作为参数传递时,也称
指针变量中存放的是某个数据对象的地址,这个地址里存放的才是值
是的int*p,*s,*t,a=10,b=11;p=a;s=b;t=p;p=s;s=t;再问:int*p,*s,*t,a=10,b=11;p=&a;s=&b;?对吗,你是不是断了&了?小问下再答:是的
注意传递地址和传递变量的区别:比如voidswap(intx,inty){//...}...inta=3,b=4;swap(a,b);此处将变量a的值3传递给x,b的值4传递给y,此后再swap函数中
指针简单理解就是变量的地址,如变量值为1,地址为110,则指针保存的值为110,指向的值为1inta=1;int*p=&a;//将p指针指向变量aprintf("%d\n",*p);//输出为1
指针常量是一个空间static的.指针变量就是变量.可以重新赋值.
const在程序中都不是声明常量的意思,而是表示只读,下面代码就不能*p1=这样来赋值
没有语法错误,两个语句是等效的,实际上NULL是个宏.是这样声明的#defineNULL0或者#defineNULL(void*)0
选C指针初始化可初始化为具体地址,也可以是空指针,其它的都不行.一般实际操作中都设为NULL.再问:按你的理解,应该选B吧???因为题目问的是不能初始化指针哦?再答:选CB是1,可以作为一个地址值,A
int*p1;//定义一个指针变量,可以改变指针所指向的内存位置,例子:int*p1;inti=1,j=2;p1=&i;p1=&j;inti=1;int*constp2=&i;//定义一个指针常量,c
无论是普通的变量还是指针变量在内存中都有一个地址(如果已经分配好的话)经过赋制操作,比如说p=&a,指针变量p里的值是一个地址,这个地址就是变量a的地址当然指针变量本身也有一个地址指针指向的值就是指针
a还是指向p1,b还是指向p2啊只不过p1和p2的值互转了你说的情况可以这样写int*t=a;a=b;b=t;这样的话a指向p2,b指向p1,但是p1和p2的值还是原先的值不过不建议这样写
对的,你声明一个数组时数组名就是首地址,执行i=a这条赋值语句时,指针变量i中的内容就是数组a的首地址,j=i,i做左值它代表指针变量i中的内容也就是数组的首地址,执行完这个语句后指针变量j的内容也是
答案是:B为什么是变量的地址,举例来说明:int*p(先不管p指向的空间);其中p是指针,p的指针类型是int*,int*是什么类型,就是指针类型,理解是很生涩,看后面;指向的类型是int,这个应该很