【C语言】之基本数据类型的指针

举报
人才程序员 发表于 2023/10/29 20:36:26 2023/10/29
【摘要】 @TOC 前言为什么要学习指针:指针的重要性 1.可以通过指针表示一些复杂的数据结构 2.快速的传递数据,减少了内存的耗用提示:以下是本篇文章正文内容,下面案例可供参考 一、指针的声明和定义我们可以使用的基本指针类型char, short, int, long, long long, float, double 1.指针的声明与定义 1.指针的声明int *p;形式:类型+*+变量名;in...

@TOC


前言

为什么要学习指针:
指针的重要性 1.可以通过指针表示一些复杂的数据结构 2.快速的传递数据,减少了内存的耗用


提示:以下是本篇文章正文内容,下面案例可供参考

一、指针的声明和定义

我们可以使用的基本指针类型char, short, int, long, long long, float, double

1.指针的声明与定义

1.指针的声明

int *p;

形式:类型+*+变量名;
int 表示p装的地址对应的空间的数据类型
*表示p是一个指针变量
p是指针的名字

2.指针指向空间

意义:指针就是装地址的变量,变量就要赋值,即一定要装一块空间的地址,或者说指向一块空间,才能被使用。就像int a;,如果没有被初始化,没有赋值,这东西啥也不能干。指针变量也是同理,不装地址的情况下,啥都不能干,也叫野指针

初始化

int a=12;
int *p=&a;

赋值

int a=12;
int *p;
p=&a;

模型:
在这里插入图片描述
注意:
1、指向是什么意思:装哪块地址,就指向哪一块空间
2、类型一定要对应上:类型决定指针的读写方式

2.通过指针操作所指向的空间

1、指向其他空间

int a = 12;
int b = 18;
int *p;
p = &a;
p = &b;

通过重新赋值指向其他的空间

2、通过地址间接操作所指向的空间

1.内存操作符"*"
“*”名为内存操作符
使用方法:* + 变量名
这个地址一定是合法地址.
一个指针指向一个变量,*这个指针,就是变量本身
什么意思呢:
在这里插入图片描述

int a = 12;
int *p = &a;
printf("%d", *p);

这时的"*"是内存操作符

int a = 12;
int *p = &a;
scanf ("%d", a);

取地址

//p为指向变量的地址
//&p为他本身的地址

2、类型决定内存操作

1.所指向的空间是什么类型,那么*p 就一次操作多大的内存空间
2.一个小范围的指针可以指向大范围的空间,并且操作不异常,虽然结果不太对
3.一个大范围的指针不可以指向小范围的空间,否则操作异常,结果更不对

总结

1.指针的声明与定义
2.通过指针操作所指向的空间

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。