Linux C语言:指针与数组

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

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

例如:

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

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

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

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

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

1)含义不同

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

2)使用不同

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

3)长度不同

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

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

4) 本质不同

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

相关推荐
ChoSeitaku24 分钟前
链表循环及差集相关算法题|判断循环双链表是否对称|两循环单链表合并成循环链表|使双向循环链表有序|单循环链表改双向循环链表|两链表的差集(C)
c语言·算法·链表
DdddJMs__13529 分钟前
C语言 | Leetcode C语言题解之第557题反转字符串中的单词III
c语言·leetcode·题解
Fuxiao___33 分钟前
不使用递归的决策树生成算法
算法
我爱工作&工作love我38 分钟前
1435:【例题3】曲线 一本通 代替三分
c++·算法
娃娃丢没有坏心思1 小时前
C++20 概念与约束(2)—— 初识概念与约束
c语言·c++·现代c++
白-胖-子1 小时前
【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-统计数字
开发语言·c++·算法·蓝桥杯·等考·13级
workflower1 小时前
数据结构练习题和答案
数据结构·算法·链表·线性回归
好睡凯1 小时前
c++写一个死锁并且自己解锁
开发语言·c++·算法
Sunyanhui11 小时前
力扣 二叉树的直径-543
算法·leetcode·职场和发展
一个不喜欢and不会代码的码农2 小时前
力扣105:从先序和中序序列构造二叉树
数据结构·算法·leetcode