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

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

前言

为什么要学习指针:

指针的重要性 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;

模型:

a1b544e0241441d8b40da8900ec1667e.png

注意:

1、指向是什么意思:装哪块地址,就指向哪一块空间

2、类型一定要对应上:类型决定指针的读写方式

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

1、指向其他空间

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

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

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

1.内存操作符"*"

“*”名为内存操作符

使用方法:* + 变量名

这个地址一定是合法地址.

一个指针指向一个变量,*这个指针,就是变量本身

什么意思呢:

3a6bd13a6f384f21864ee50ac3176b4a.png


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.通过指针操作所指向的空间

相关文章
|
10月前
|
存储 程序员 编译器
C 语言中的数据类型转换:连接不同数据世界的桥梁
C语言中的数据类型转换是程序设计中不可或缺的一部分,它如同连接不同数据世界的桥梁,使得不同类型的变量之间能够互相传递和转换,确保了程序的灵活性与兼容性。通过强制类型转换或自动类型转换,C语言允许开发者在保证数据完整性的前提下,实现复杂的数据处理逻辑。
|
8月前
|
存储 人工智能 程序员
一文彻底搞清楚C语言的数据类型和变量
本文介绍了数据类型(基本、构造、指针、空类型)、变量(使用、命名规则、作用域)和常量(字面、符号、枚举、表达式),帮助初学者理解编程基础概念。坚持学习,定能创造奇迹!
872 1
一文彻底搞清楚C语言的数据类型和变量
|
8月前
|
存储 人工智能 Java
一文轻松拿捏C语言的指针的基础使用
本文介绍了C语言中的指针概念,包括直接访问和间接访问内存的方式、指针变量的定义与使用、取址运算符`&`和取值运算符`*`的应用,帮助读者深入理解指针这一C语言的核心概念。君志所向,一往无前!
146 0
|
10月前
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
307 7
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
9月前
|
C语言
【C语言程序设计——入门】基本数据类型与表达式(头歌实践教学平台习题)【合集】
这份文档详细介绍了编程任务的多个关卡,涵盖C语言的基础知识和应用。主要内容包括: 1. **目录**:列出所有关卡,如`print函数操作`、`转义字符使用`、`数的向上取整`等。 2. **各关卡的任务描述**:明确每关的具体编程任务,例如使用`printf`函数输出特定字符串、实现向上取整功能等。 3. **相关知识**:提供完成任务所需的背景知识,如格式化输出、算术运算符、关系运算符等。 4. **编程要求**:给出具体的代码编写提示。 5. **测试说明**:包含预期输入输出,帮助验证程序正确性。 6. 文档通过逐步引导学习者掌握C语言的基本语法和常用函数,适合初学者练习编程技能。
226 1
|
10月前
|
存储 编译器 C语言
【C语言】指针大小知多少 ?一场探寻C语言深处的冒险 !
在C语言中,指针的大小(即指针变量占用的内存大小)是由计算机的体系结构(例如32位还是64位)和编译器决定的。
1141 9
|
10月前
|
存储 编译器 C语言
【C语言】数据类型全解析:编程效率提升的秘诀
在C语言中,合理选择和使用数据类型是编程的关键。通过深入理解基本数据类型和派生数据类型,掌握类型限定符和扩展技巧,可以编写出高效、稳定、可维护的代码。无论是在普通应用还是嵌入式系统中,数据类型的合理使用都能显著提升程序的性能和可靠性。
418 8
|
10月前
|
安全 程序员 C语言
【C语言】指针的爱恨纠葛:常量指针vs指向常量的指针
在C语言中,“常量指针”和“指向常量的指针”是两个重要的指针概念。它们在控制指针的行为和数据的可修改性方面发挥着关键作用。理解这两个概念有助于编写更安全、有效的代码。本文将深入探讨这两个概念,包括定义、语法、实际应用、复杂示例、最佳实践以及常见问题。
280 7
|
11月前
|
存储 C语言
C语言如何使用结构体和指针来操作动态分配的内存
在C语言中,通过定义结构体并使用指向该结构体的指针,可以对动态分配的内存进行操作。首先利用 `malloc` 或 `calloc` 分配内存,然后通过指针访问和修改结构体成员,最后用 `free` 释放内存,实现资源的有效管理。
887 13
|
11月前
|
存储 C语言 开发者
C 语言指针与内存管理
C语言中的指针与内存管理是编程的核心概念。指针用于存储变量的内存地址,实现数据的间接访问和操作;内存管理涉及动态分配(如malloc、free函数)和释放内存,确保程序高效运行并避免内存泄漏。掌握这两者对于编写高质量的C语言程序至关重要。
322 11