C语言学习笔记(二):指针的用法

与其说指针是一种工具,不如先说指针是一种数据类型。

-------------------------------------------------------------华丽的分割线-----------------------------------------------

 指针是什么呢?指针是一种数据类型。

首先,我们先这样

int a;
int *b;

a是一个int型变量,对吧?那类比一下,b是个int *型变量对吧?

我们换一种说法:b是一个int型指针 其中*标识符 

下面我们来看这个:

int *p1;
int **********p2;

怎么样?怕不怕?

其实没什么可怕的,无论有几个"*"它都是一个变量!

 

那你就会问了,指针里面到底装着什么呢?我们继续来看这样一段代码:

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int a = 100;    
 6     int *p;
 7     p = &a;
 8     printf("a的地址是:%d\t a的值是:%d\n", &a, a);
 9     printf("指针p的地址是:%d\t p的值是:%d", &p, p);
10     return 0;
11 }
12  

运行结果如下:

这样你可能还不够直观,不如我们画一下内存图吧!

 

 

 

 

那你可能会问了,指针有什么用呢?答:间接赋值

任何事物都有它存在的意义,间接赋值这四个字你可能没什么感觉,不就是:

int i = 20;
int *p = &i;
*p = 10;

 

是的,这么一看用法就是这么简单,但是你有没有想过,如果把指针用到字符串身上呢?(未完待续)

 

posted @ 2015-12-06 01:34  蔷薇丶九里  阅读(203)  评论(2编辑  收藏  举报