首先我们已经知道:a,b,都是指针变量,*a表示指针变量所指向的值,同样*b也是如此。*a=*b就是表示把指针b所指向的值赋值给指针变量a所指向的值。但是要是指针a要是没有初始化或是开辟空间的话,这样赋值就有危险!!!例如:int *a;int *b=5;a=*b;首先声明一个指针变量a,但是系统并没有...
其实C代码编译成二进制后是不分类型的。指针的值就是虚拟存储的一个地址,地址也是值,也可以放在内存里。a=b就是说指针a所指向的地址里的内容换成b;a=*b就是说将指针b指向的地址里的内容放到指针a所指向的地址里;至于**a=*b,就是说,a指向的地址里存放的也是个地址,如果设这个地址为c,...
a=*b把b指针指向的地址里的值赋给a a=b,把a指针指向的地址里的值用b的值替换
a=*b; a,b 都是指针,是 错误表达。a 若是 int a; 则是 赋*b值 给 变量 a .
a=b,是吧b的数值放到a指向的空间 a=&b,是把b的地址赋值给a 相同之处就是*a b的数值相同 不同之处是,上面的是数值赋值,那么a指向的空间没有改变 而下面的赋值a指向的地址改变了,也就是a申请的内存空间中的数值变成了b的地址
b指针的话,b=a肯定不对。要么*b=a,要么b=&a,这两种语法都正确,但是意义不同。前者将a的值赋值给指针b所在的地址,两个值相互不影响。后者将a的地址赋值给指针b,a和b指向同一个内存地址,该地址的值如果有变化,a和*b同时会变化。
p指向的是数组第一个元素的地址所以*p就是取p指向的这个地址的值.B错在str是指向字符串的指针比如printf("%s\n",str);会输出整个Program由此可以说明BCD都是错的字符串的表现形式在C程序中,可以用两种方法实现一个字符串。1.用字符数组实现。[例8.11]voidmain(void){staticcharstring[]="ILove...
int *a, *b; //定义了*a, *b两个指针,但没有赋值,所以它们都指向NULL (值为0)a=10,*b=20; //*a *b都将值存放到NULL这个地方去,那是受保护的地址,不允许用户访问 如果要定义指针,可以如下,int a, b;int *pa = &a, *pb =&b; //对定义的指针进行了赋值 pa = 1...
是的,a对应地址所指向的存储单元存储的值会变化 比如 int x=1,y=2;int *a=&x,*b=&y;当执行*a=*b后,*a的值(也就是x的值)将会变为2
*a=b,是吧b的数值放到a指向的空间a=&b,是把b的地址赋值给a相同之处就是*a b的数值相同不同之处是,上面的是数值赋值,那么a指向的空间没有改变而下面的赋值a指向的地址改变了,也就是a申请的内存空间中的数值变成了b的地址 0 0 0 千巷猫影 *a=b; 这个是把b的值赋值给指针a指向的空间a=&b; 这个...