为您找到"
C语言中指针*和&
"相关结果约100,000,000个
p为一个指针的话,*p=x是给已经指向可用空间的变量赋值用的,它必须先让指针p指向一个可用的存储空间,然后这个语句就把x中存储的值复制到p所指向的那个空间。而p=&x;就是让p指向一个可用的存储空间的语句(p指向变量x)。比方说:int x=12,y,*p;p=&x;p=x*x; //---这个语句的作...
"&"是取址运算符,取变量在内存单元中的首地址,“&”取地址运算符的操作对象必须是内存单元(如变量、数组元素等)。“*”是间接访问运算符,间接访问指针所指向的对象,“*”运算符的操作对象必须是指针(地址)。因此:C=&m是把m在内存中的地址赋给c这个指针指向的变量 c=&m是把m的地址赋给...
这时就应该指定局部变量为静态局部变量。若声明的是一个静态的全局变量,则会禁止其它文件访问该全部变量,进行对该全局变量的保护,跟extern相对的。char *p只是一个普通的指针声明。例如:char** p1=NULL;char* p2[5];p1=p2; // OKp2=p1; // errorp1=&p2[0];//OK ...
用于条件求值(?:)。7、逗号运算符 用于把若干表达式组合成一个表达式(,)。8、指针运算符 用于取内容(*)和取地址(&)二种运算。9、求字节数运算符 用于计算数据类型所占的字节数(sizeof)。10、特殊运算符 有括号(),下标[],成员(→,.)等几种。以上内容参考 百度百科-c语言运算符号 ...
你要搞清两个概念:指针在定义和使用时的差别。一个是定义的时候,int *p = &n,那么说明p是一个地址,它指向n这个变量。一个是使用时 *p=&n,那么说明p是二级指针,即它指向地址的地址,那么*p仍然是地址,它指向n这个变量。
&可以是取地址,也可以是按位与 用在不同的地方,表示不同.比如,%u是和unsigned一起用的..无符号整形
前者是在定义指针时才成立,意思是定义指针p是变量x的地址。后者是程序语句中的取x地址赋值给p。
p=&a;是将a的地址赋值给*p,结果会是一个十六进制的数。第二个是让p指向a的地址空间。*p的傎和a相等。int a=2,*p;p=&a;打印*P应该是一个地址值,很长一串,p=&a;打*P印结果会是2;
&=,表示将这个符号左边的数和右边的数做与运算,再把结果赋给左边的数,例如:a &= b相当于 a = a&b。?:是问号表达式,例如 a>b?a:b,意思就是如果a大于b,那么这个表达式的值就是a,否则表达式的值为b。&和&&有区别的,前面一个是按位与,后面一个是逻辑与,例如:1 & 2,这个...
就是将pop_ptr->ind字符数组的第0个元素的地址赋值给pop_ptr->ind_ptr. 这第0个元素的地址当然就是数组的地址了.所以就是把数组的地址赋值给pop_ptr->ind_ptr.即pop_ptr->ind_ptr是指向数组pop_ptr->ind的指针.