为您找到"
可以对指针变量进行赋值吗,例如*p=1
"相关结果约100,000,000个
p=&i ; //这时,将变量i的地址赋值给了p,这时,我们常说p指向了i.p=10 ; //这里的*操作意思是,通过p的值(地址)来对这个地址空间进行操作:赋值或取值。这里的*p就相当于i , *p=10 就相当于i=10 就说这些吧,打字打的好累,好好消化一下。对于二维指针,我想你最好现在先不要想了...
把字符串的地址赋给s追问:谢了。大概我能明白了。有个小疑问:常量不应该在内存中有地址的?就是”BOOK“应该无地址才对.除非把它当作个默认数组来处理,像perl里的@_?纯粹操蛋了,可以不回答、回答:你这样想char *s; 定义了一个字符指针变量,用来保存字符变量的内存地址 s="BOOK",可以赋值,...
请分清“指针本身的值”和“指针指向的地址中的值”这两者的区别。指针本身的值就是地址。int a = 2;int *p = &a;//p = 100; //试图将指针本身的值修改为100,即令指针p指向内存地址100的位置,这是未定义行为*p = 100; //将指针p指向的地址中的值修改为100,即将a的值修改为100 ...
怎么样?找出指针的类型的方法是不是很简单? 2。指针所指向的类型。 当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如: (1)int *ptr; ...
1、指针变量的赋值,分为定义时赋值(初始化)和单独赋值,如:int x ;int * px=&x ; //定义时赋值,也称初始化,注意这里的*是跟随int的,即变量px是int *类型变量! 实际上的赋值语句是px=&x ;int * py ;py=&x ; //单独赋值,将py指向x*py=10 ; //这里的*,是引用指针中的...
一、指针变量的加减法的意义1.1 指针变量中存储的数值为内存地址,地址的加减法运算不是单纯的加减1,而是与指针变量的类型相关。其加减1运算是指地址向前或向后移动一个"数据空间",这个数据空间是多少,根数据类型紧密相关,如:int ai[10] ,*p=ai; //假设ai所代表的内存地址为0x0001,即p=0x0001p++ ; //指针...
不都是取地址。1,符号含义不同:&是取地址运算符,&a为变量a的地址。2,用法不同:声明中 int x; x 是整型量。语句中,&x 是整型量x的地址。不是指针,才有&。语句中,x 是整型量x的值。3,指向不同:*是指针运算符,*p为指针变量p所指向的存储单元中的内容。而指针变量p中一般只存放...
这是指针指向字符串的问题,char b[5],*p=b; //指针p初始指向了字符数组b,亦即指针p指向了数组b的首元素地址。p="abcde"; //这个赋值语句本质上是将常量字符串的首地址赋值给指针变量p,*p的话是指针运算符,即访问指针p所指向的内存单元的数据,这里*p的值是字符'a',因为p存放的是这个...
1、指向一个对象,如 Person *p = new Person….;int *iv = new int….2、对指针所指的对象进行操作:P->getAge(); (*p).getAge();3、获取存储在指针中的地址值。4、将指针指向另外一个对象:Person *p1 = new Person…; p = p1; 但,不可以*p = p1这样来赋值。5、删除new的...
语句里,若 p 是指针变量,p=a; *p 表示 值,把 变量 a 的当前值 赋给 指针。(指针指向的地址不变)。p = &a; p 表示指向的地址, 把 变量 a 的地址 &a 赋给 p, 也就是让指针指向 变量 a。例如:int a=2, b=3;int *p=&b; // 指针指向地址 初始化, 指向 b printf(...