一、学习目标
- 了解指针的概念
- 了解指针的使用方法
- 了解双重指针
目录
C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言。
第一篇:(一)脱离学习误区
第二篇:(二)C语言没那么难简单开发带你了解流程
第三篇:(三)轻轻松松理解第一个C语言程序
第四篇:(四)C语言的基本数据类型及变量
第五篇:(五)C语言的变量、常量及运算
第六篇:(六)轻轻松松了解C语言的逻辑运算
第七篇:(七)C语言的循环分分钟上手
第八篇:(八)了解基本数组还不是那么简单
第九篇:(九)C语言二维数组与循环嵌套
第十篇:(十)C语言的指针原来是这样
第十一篇:(十一)C语言自定义函数真的很简单
第十二篇:(十二)原来结构体是这么回事
第十二篇:(十三)socket服务端编写
C语言新手的100个报错解法
欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~
二、了解指针的使用方法
指针在C语言中指指向一个内存地址的数据类型。在C语言中,变量是有一个内存地址表示它的存储位置,这个位置就像你家的门牌号一样表示你家具体位置的一个索引;例如某某某市某某区某某镇某某村某某街道几号。指针可以指向变量所在的地址,从而获取到当前地址所存储的值。
2.1 了解指针的使用方法
首先看一下在C语言中,指针如何指向一个变量的,如下代码:
int *p;
int a=10;
p=&a;
以上代码使用 int 修饰一个指针p表示指针指向一个整型变量,在声明的时候需要使用*加变量名表示一个指针;随后定义了一个变量a值为10;最后使用取地址符号&取得a的地址并把改地址赋值给p指针变量。
指针的声明格式为:
类型 *指针名;
我们查看一个完整的示例:
#include<stdio.h>
void main(){int *p;int a=10;p=&a;printf("%d\n",*p);
}
以上代码之前已经了解过了一部分,这里着重注意printf("%d\n",*p);
,这局代码中输出了p的值,由于我的要求是输出指针p所指向的变量a所存储的值,所以在这里使用了取值符号 *,表示获取指针p指向变量的内容。
结果如下:
2.2 多重指针
多重指针是指向指针的指针。
查看示例:
int *p,**p1;
int a=10;
p=&a;
p1=&p;
以上代码中,定义了两个指针,一个为p另一个为p1;在这里可以发现第一个p使用了一个“*”,p1则使用了两个 “ * ”;使用一个“ * ” 表示当前指针指向的是一个变量,使用两个 “ * ”表示当前指针需要指向一个指针,所指向的指针指向了一个变量;也就是说指针需要指向一个变量,中间不存在指针,则使用一个 “ * ”,指针指向一个指针,指针再指向一个变量则需要两个“ * ”,以此类推,多一个指针则加一个 “ * ”。
随后定义了一个变量a值为10,使用p指向了a,随后p1指向了指针p。
查看完整示例:
#include<stdio.h>
void main(){int a=10;int *p,**p1;p=&a;p1=&p;printf("%d\n",**p1);
}
运行结果如下:
指向两个指针的指针程序如下:
#include<stdio.h>
void main(){int a=10;int *p,**p1,***p2;p=&a;p1=&p;p2=&p1;printf("%d\n",***p2);
}
运行结果如下:
五、总结
通过以上描述与讲解,我们了解了以下几点内容:
- 了解了指针的概念
- 了解了指针及多重指针的使用方法