在C++中函数之间传递指针是很常见。
在计算机中地址是用无符号的整形来表示的,所以这样的函数
void xxx(int *p),在运行的时候是传值还是传址?在一般看来,一般人认为是传址,在他们的惯性思维里,指针就是地址,事实情况不是这样的。指针是一个无符号的整形,只不过这个值很特殊,它是计算机中一个数值或对象的地址。
在传参数的时候,指针本身是一个无符号的整形,所以传递的是一个同样值的无符号整形副本,但是数值没变,还是指向同一个地址,所以给人的错觉是传的地址。
在C++中函数之间传递指针是很常见。
在计算机中地址是用无符号的整形来表示的,所以这样的函数
void xxx(int *p),在运行的时候是传值还是传址?在一般看来,一般人认为是传址,在他们的惯性思维里,指针就是地址,事实情况不是这样的。指针是一个无符号的整形,只不过这个值很特殊,它是计算机中一个数值或对象的地址。
在传参数的时候,指针本身是一个无符号的整形,所以传递的是一个同样值的无符号整形副本,但是数值没变,还是指向同一个地址,所以给人的错觉是传的地址。