当前位置: 首页 > backend >正文

【C语言练习】015. 声明和初始化指针

015. 声明和初始化指针

  • 015. 声明和初始化指针
    • 1. 声明指针
      • 示例1:声明一个指向整数的指针
    • 2. 初始化指针
      • 示例2:将指针初始化为`NULL`
      • 示例3:将指针初始化为某个变量的地址
      • 示例4:将指针初始化为动态分配的内存地址
    • 3. 使用指针访问和修改变量的值
      • 示例5:使用指针访问和修改变量的值
      • 输出结果
    • 4. 指针的指针
      • 示例6:指针的指针
      • 输出结果
    • 5. 指针数组
      • 示例7:指针数组
      • 输出结果
    • 6. 动态分配的指针数组
      • 示例8:动态分配的指针数组
      • 输出结果

015. 声明和初始化指针

在C语言中,指针是一种特殊的变量,用于存储另一个变量的内存地址。声明和初始化指针是C语言编程中的重要概念。以下将详细介绍如何声明和初始化指针,以及如何使用指针访问和修改变量的值。

1. 声明指针

声明指针时,需要指定指针所指向的变量类型。指针的声明格式如下:

类型 *指针变量名;

示例1:声明一个指向整数的指针

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

2. 初始化指针

指针可以通过以下几种方式初始化:

  1. 将指针初始化为NULL:表示指针不指向任何有效的内存地址。
  2. 将指针初始化为某个变量的地址:使用&运算符获取变量的地址。
  3. 将指针初始化为动态分配的内存地址:使用malloccalloc函数分配内存。

示例2:将指针初始化为NULL

int *ptr = NULL; // 声明并初始化为NULL

示例3:将指针初始化为某个变量的地址

int num = 10;
int *ptr = # // 声明并初始化为变量num的地址

示例4:将指针初始化为动态分配的内存地址

int *ptr = (int *)malloc(sizeof(int)); // 动态分配一个整数大小的内存
if (ptr == NULL) {printf("Memory allocation failed\n");return 1;
}
*ptr = 10; // 通过指针访问并修改动态分配的内存

3. 使用指针访问和修改变量的值

指针可以通过*运算符来访问和修改它所指向的变量的值。

示例5:使用指针访问和修改变量的值

#include <stdio.h>int main() {int num = 10; 
http://www.xdnf.cn/news/3403.html

相关文章:

  • 【Hive入门】Hive性能调优之资源配置:深入解析执行引擎参数调优
  • 欧拉计划 Project Euler62(立方数重排)题解
  • Allegro23.1新功能之如何加粗打印线宽操作指导
  • 跨域 iframe 内剪切板 Clipboard_API 报错
  • 网络安全零基础培训 L1-9 PHP连接MySQL数据库
  • d202551
  • QMK固件烧录指南:安全高效地更新您的机械键盘
  • Python结合QT进行开发
  • 西门子数字化研发设计制造一体化规划案例P87(87页PPT)(文末有下载方式)
  • 神经网络—损失函数
  • Python 数据智能实战 (6):用户评论深度挖掘
  • OpenGL-ES 学习(10) ---- OpenGL-ES Shader语言语法
  • CMake中强制启用option定义变量的方法
  • Unity SpriteEditor(精灵图片编辑器)
  • C++笔记-继承(下)(包含派生类的默认成员函数,菱形继承等)
  • AJAX 实例
  • vscode 的空格和 tab 设置 与 Rime 自建词库
  • AI大模型基础设施:主流的几款开源AI大语言模型的本地部署成本
  • 企业内训|智能驾驶与智能座舱技术——某汽车厂商
  • Ubuntu18 登录界面死循环 Ubuntu进不了桌面
  • 初学Vue之记事本案例
  • 【Linux】VSCode用法
  • 【嵌入式———通用定时器基本操作——实验需求2:案列:测量PWM的频率/周期】
  • 用手机相册教我数组概念——照片分类术[特殊字符][特殊字符]
  • 构建现代分布式云架构的三大支柱:服务化、Service Mesh 与 Serverless
  • 第十一届蓝桥杯 2020 C/C++组 门牌制作
  • vue 常见ui库对比(element、ant、antV等)
  • 兰亭妙微:数据驱动的 B 端设计:如何用 UI 提升企业级产品体验?
  • 【Qt】网络
  • ZYNQB笔记(十六):AXI DMA 环路测试