Linux C语言:指针与数组

一、指针与数组的基本用法

  • 数组指针是指数组在内存中的起始地址,数组元素的地址是指数组元素在内存中的起始地址
  • 一维数组的数组名为一维数组的指针(起始地址)

例如:

cs 复制代码
double x[8];
因此,x为x数组的起始地址
  • 设指针变量px的地址值等于数组的指针x(即指针变量px指向数组的首元数),则:

xi 、*(px+i)、*(x+i) 和pxi具有完全相同的功能:访问数组第i+1个数组元素。

  • 使用指针遍历一维数组
  • 指针变量和数组在访问数组中元素时,一定条件下其使用方法具有相同的形式,因为指针变量和数组名都是地址量

二、指针与数组使用注意事项

1、数组名和指针有什么区别

1)含义不同

数组名代表一个数组,存放相同类型的元素指针代表存储地址的变量

2)使用不同

数组名代表一个数组,存放相同类型的元素指针代表存储地址的变量

3)长度不同

sizeof数组名,代表数组占用的总空间

sizeof指针,和操作系统有关,32位系统,4个字节

4) 本质不同

指针变量是地址变量,而数组名是地址常量

相关推荐
折哥的程序人生 · 物流技术专研5 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
玖玥拾6 小时前
C/C++ 基础笔记(十四)多态与模板编程
c语言·c++·多态·模板
想吃火锅10057 小时前
【leetcode】14.最长公共前缀js
算法·leetcode·职场和发展
云絮.8 小时前
数据库操作
数据库·mysql·算法·oracle
小林ixn8 小时前
LeetCode 206. 反转链表(迭代 + 递归详解)
算法·leetcode·链表
凡人叶枫8 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
菜鸟‍10 小时前
LeetCode 1 27 和 704 || 两数之和 移除元素 二分查找
算法·leetcode·职场和发展
caimouse10 小时前
Reactos 第1章 概述
c语言·开发语言·架构
退休倒计时11 小时前
【每日一题】LeetCode 142. 环形链表 II TypeScript
算法·leetcode·链表·typescript
啊森要自信11 小时前
【GUI自动化测试】控件、鼠标键盘操作与多场景自动化
c语言·开发语言·python·adb·ipython