那个大哥大姐帮我理解一下指针
int *abc;
int cda=5;
abc=&cda;//请帮我理解一下这里我老是搞不明白
參考答案:cda是一个整数,存在内存中占一定的空间(一般为4个字节),而这个空间有一个地址,比如说这四个字节的空间是在内存的第0x89abcdc0到0x89abcdc3个字节,对于intel架构来说,这四个字节为0500,也就是说,cda值是5,地址是0x89abcdc0。
现在我们来看abc,它是一个指向整数的指针,意思就是说它是一个地址,只不过编译器把它所指向的地址中的数字解释为一个四字节的整数,回到上面的例子,abc=&cba;的意思是说abc等于cba的地址,也就是说abc=0x89abcdc0,每次要用abc所指地址的内容(5),都要用*abc,意思是说取abc地址的内容。
呵呵,够清楚吧