《零基础看得懂的C语言入门教程 》——(十)C语言的指针原来是这样

一、学习目标

  1. 了解指针的概念
  2. 了解指针的使用方法
  3. 了解双重指针

目录

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);
}

运行结果如下:
在这里插入图片描述

五、总结

通过以上描述与讲解,我们了解了以下几点内容:

  1. 了解了指针的概念
  2. 了解了指针及多重指针的使用方法
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页