C语言中的指针作为函数参数是通过传递指针变量的地址来实现的,称作“传地址”。这样即可以在函数中修改指针所指向的数据,又可以保证原始数据会受到影响。具体实现细节如下:
- 函数定义时,在参数列表中声明指针类型的参数。
void func(int* p);
- 在调用该函数时,传递指针变量的地址。
int* p = NULL; func(&p);
- 在函数内部,通过指针的解引用操作来读取或修改指针所指向的数据。
void func(int* p) { *p = 123; }
这样就可以在函数中修改指针所指向的数据,同时也会影响到原始数据。需要注意的是,在函数内部只能通过指针解引用来修改指针所指向的数据,否则会改变指针本身的值。