标签:
指针,我理解就是保存另一个变量的地址的变量。例如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 }
标签:
原文地址:http://www.cnblogs.com/omnipotent/p/4181419.html