目录
前言
在C或C++语言中,指针作为形参(函数参数)和局部变量的概念是基础且重要的。理解这个概念对于掌握内存管理和函数调用机制至关重要。下面分别解释这两种情况以及它们的内存分配情况。
一、指针作为形参
当指针被作为函数的形参时,实际上传递给函数的是指针的值,即它所指向的内存地址的副本。这意味着在函数内部,对指针所指向的内容进行修改会影响到原始内存位置的内容,但是如果直接修改指针的值(即改变它指向的地址),则不会影响到函数外部的那个指针。
void modifyValue(int *ptr) {
*ptr = 10; // 修改ptr指向的值,外部变量的值也会改变
}
void changePointer(int *ptr) {
int local = 20;
ptr = &local; // 只修改了函数