C语言指针:基础与应用详解
1. 指针基础
在C语言中,尽管可能存在多个变量,但有时实际上只有一个整数(例如 something
)。以下几种赋值方式是等价的:
something = 1;
*first_ptr = 1;
*second_ptr = 1;
2. 指针作为函数参数
C语言使用“值传递”的方式传递参数,即参数只能单向传入函数,函数的唯一结果是一个单一的返回值。不过,指针可以突破这一限制。
例如,假设有两个人,Sam只能说话,Joe只能倾听,Sam要从Joe那里获取信息,他可以告诉Joe“把答案放在西5街335号的邮箱里”。在C语言中,也采用类似的方法从函数向调用者传递信息。
下面是一个示例代码, main
函数希望 inc_count
函数对变量 count
进行递增操作:
#include <stdio.h>
void inc_count(int *count_ptr)
{
(*count_ptr)++;
}
int main()
{
int count = 0; /* number of times through */
while (count < 10)
inc_count(&count);
return (0);
}