3.21指针-C语言的灵魂之旅

指针简介

指针是一个值为内存地址的变量

基本用法

数据类型*指针变量名;

int*ptr_num=NULL;

指针的初值为空,表示指针不指向任何地址

取地址符&

取值*

指针同样是一个变量,只不过该变量中存储的是另一个对象的内存地址

如果一个变量存储另一个对象的地址,则称该变量指向这个对象

指针变量可以赋值,指针的指向在程序执行中可以改变

指针P在执行中的某时刻指向变量X,在另一时刻也可以指向变量Y

指针变量的命名规则和其他的变量命名规则一样

指针不能与现有的变量名一样

指针可存放C语言中任何基本数据类型

若指针已声明指向某种数据类型,则它不能用于其他所有高级数据结构的地址

应为指针声明一个地址后,才能在语句中使用指针

指针与数组

数组是一块连续的内存空间

数组名就是这个连续内存空间的首地址

指针的算术运算

一个类型为T的指针的移动,以sizeof(T)为移动单位

指针可以加上或减去某个整数值

数组与指针小结

int num[50]; num数组名,也是数组的首地址

num的值与&num[0]的值是相同的

数组第i+1个元素可表示为

第i+1个元素的地址为:&num[i+1]或,num+i+1

第i+1个元素的值为:num[i+1]或*(num+i+1)

为指向数组的指针赋值

int*ptr_num=num;或int*ptr_num=&num[0];

指针变量可以指向数组元素

int*ptr_num=&num[4]或int*ptr_num=num+4;

num[i][j]=*(*(num+i)+j)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值