首页 > 代码库 > 初识指针

初识指针

指针,我理解就是保存另一个变量的地址的变量。例如int x,这个变量,它的内存地址可以用&x这个表达式得到。

如果要利用这个内存地址来处理x的话,可以利用*x来作为它的指针,*x就是存储x内存地址的变量。例如:

对*x进行操作: *x = 5  那么就把5这个值放到来这个指针指向的内存位置,也就是x变量。下面的代码用来获得数组的最大值。

 1 #include <stdio.h> 2  3 void max(int list[], int len, int *x) // x means max 4 { 5     *x = list[0]; 6     for (int i=1; i<len; i++)        7     { 8         if (*x < list[i]) 9             *x = list[i];10     }11 }12 13 14 int main(void)15 {16     int list[] = {1,2,3,5,7,8,12,34,56};17     int x;18     printf("x before func max: x = %d\n", x);19     max(list, sizeof(list)/sizeof(list[0]), &x);20     printf("max = %d\n", x);21     return 0;22 }

 

初识指针