逍遥自在学C语言 | 指针的基础用法

这篇具有很好参考价值的文章主要介绍了逍遥自在学C语言 | 指针的基础用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在C语言中,指针是一项重要的概念,它允许我们直接访问和操作内存地址。

可以说,指针是C语言一大优势。用得好,你写程序如同赵子龙百万军中取上将首级;用得不好,则各种问题层出不穷,有种双拳难敌四手的感觉。

本文将介绍指针的基础知识,包括指针的定义、初始化、访问和运算。

一、人物简介

  • 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。

逍遥自在学C语言 | 指针的基础用法

  • 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

逍遥自在学C语言 | 指针的基础用法

二、指针的基本概念

指针是一种变量,它存储的是内存地址而不是实际的值。

通过指针,我们可以直接访问和操作内存中存储的数据。下面是指针的基本概念:

int* ptr;  // 声明一个指向整数的指针

在上面的示例中,我们声明了一个名为ptr的指针变量,它可以指向整数类型的数据。

指针变量的类型必须与其指向的数据类型相匹配。

三、声明和初始化指针

要声明指针变量,我们需要使用*符号来指示该变量是一个指针。下面是指针的声明和初始化示例:

int* ptr;    // 声明一个指向整数的指针
int num = 10;  // 声明一个整数变量

ptr = #  // 将指针指向num变量的地址

在上面的示例中,我们声明了一个指向整数的指针ptr,然后将其初始化为变量num的地址,使用&运算符可以获取变量的地址。

四、访问指针和间接引用

通过指针,我们可以访问和修改其指向的变量。使用指针访问变量的值称为间接引用或解引用操作。

下面是访问指针和解引用的示例:

int* ptr;
int num = 10;

ptr = #

printf("变量num的值:%d\n", *ptr);  // 输出:变量num的值:10

*ptr = 20;  // 修改变量num的值

printf("变量num的新值:%d\n", num);  // 输出:变量num的新值:20

在上面的示例中,我们使用*ptr来访问指针所指向的变量num的值,并可以对其进行修改。

五、指针的运算

指针支持一些特定的运算,使得我们能够在内存中进行定位和遍历。

以下是指针的常见运算:

  • 指针的自增和自减运算:使用自增和自减运算符可以将指针移动到下一个或上一个内存位置。
int* ptr;
int nums[] = {1, 2, 3, 4, 5};

ptr = nums;  // 指针指向数组的第一个元素

printf("第一个元素的值:%d\n", *ptr);  // 输出:第一个元素的值:1

ptr++;  // 指针自增,移动到下一个元素

printf("第二个元素的值:%d\n", *ptr);  // 输出:第二个元素的值:2
  • 指针之间的相减运算:可以对两个指针进行相减运算,得到它们之间的距离(以元素个数为单位)。
int* ptr1;
int* ptr2;
int nums[] = {1, 2, 3, 4, 5};

ptr1 = nums;       // 指针1指向数组的第一个元素
ptr2 = &nums[3];   // 指针2指向数组的第四个元素

int distance = ptr2 - ptr1;

printf("两个指针之间的距离:%d\n", distance);  // 输出:两个指针之间的距离:3

通过以上示例,我们可以看到指针的自增、自减和相减运算的应用,它们在遍历数组和计算距离等场景中非常有用。

六、示例代码

下面是完整的示例代码,用于加深对指针的理解,巩固前面所学的知识:

#include <stdio.h>

int main() {
    int num = 10;
    int* ptr = &num;

    printf("变量num的值:%d\n", *ptr);
    *ptr = 20;
    printf("变量num的新值:%d\n", num);

    int nums[] = {1, 2, 3, 4, 5};
    int* p = nums;
    printf("第一个元素的值:%d\n", *p);
    p++;
    printf("第二个元素的值:%d\n", *p);

    int* p1 = nums;
    int* p2 = &nums[3];
    int dist = p2 - p1;
    printf("两个指针之间的距离:%d\n", dist);

    return 0;
}

小结

通过这篇文章,我们学会了

1、指针的基本概念

2、指针的基本用法

📢欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,非常感谢!文章来源地址https://www.toymoban.com/news/detail-486410.html

到了这里,关于逍遥自在学C语言 | 指针的基础用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 逍遥自在学C语言 | 指针和数组的关联

    指针和数组之间存在着紧密的关系。在本文中,我们将探讨指针和数组的关系、指针算术和数组遍历、多维数组与指针以及指针数组和数组指针。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 在

    2024年02月09日
    浏览(39)
  • 逍遥自在学C语言 | 位运算符&的高级用法

    在上一篇文章中,我们介绍了 运算符的基础用法,本篇文章,我们将介绍 运算符的一些高级用法。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 位掩码是一种用于按位操作的技术 它通过使用一

    2023年04月10日
    浏览(51)
  • 逍遥自在学C语言 | 位运算符~的高级用法

    在上一篇文章中,我们介绍了 ^ 运算符的高级用法,本篇文章,我们将介绍 ~ 运算符的一些高级用法。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 我们可以利用负数的补码性质,来获得一个 正

    2023年04月13日
    浏览(44)
  • 逍遥自在学C语言 | 位运算符^的高级用法

    在上一篇文章中,我们介绍了 | 运算符的高级用法,本篇文章,我们将介绍 ^ 运算符的一些高级用法。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 两个相同的数,异或结果为0 第一次的 a ^= b 等

    2023年04月12日
    浏览(47)
  • 逍遥自在学C语言 | 位运算符>>的高级用法

    在上一篇文章中,我们介绍了 运算符的高级用法,本篇文章,我们将介绍 运算符的一些高级用法。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 除法运算需要比位移运算需要更多的计算资源,某

    2023年04月16日
    浏览(50)
  • 逍遥自在学C语言 | 位运算符<<的高级用法

    在上一篇文章中,我们介绍了 ~ 运算符的高级用法,本篇文章,我们将介绍 运算符的一些高级用法。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 代码示例 运行结果 例如,将4个字节组成的字节

    2023年04月15日
    浏览(44)
  • 逍遥自在学C语言 位运算符 "|" 的5种高级用法

    在上一篇文章中,我们介绍了 运算符的高级用法,本篇文章,我们将介绍 | 运算符的一些高级用法。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。 通过这篇文章,我们学会了用位运算符 | 的5种高

    2023年04月11日
    浏览(36)
  • 逍遥自在学C语言 | 赋值运算符

    在C语言中,赋值运算符用于将一个值赋给变量 这个过程分为两个步骤: 计算赋值运算符右侧的表达式 将结果赋给左侧的变量。 C语言提供了多个不同的赋值运算符,包括基本的赋值运算符、复合赋值运算符以及条件赋值运算符等 第一位闪亮登场,有请今后会一直教我们C语

    2023年04月24日
    浏览(54)
  • 逍遥自在学C语言 | 枚举的那些事儿

    在C语言中,枚举是一种方便组织和表示一组相关常量的工具。枚举类型有助于提高代码的可读性和可维护性。本文将介绍C语言枚举的基本概念、语法和用法,以及一些高级技巧。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学

    2024年02月08日
    浏览(44)
  • 逍遥自在学C语言 | for循环详解

    C语言中的循环结构时, for 循环是最常用的一种。它允许重复执行一段代码,直到满足特定条件为止。 本文将详细介绍 for 循环的用法,并提供相关的可编译运行的C代码示例。 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包