C语言如何指针数组储存字符串,周立功教你学C语言编程:教你数组是如何保存指针的...

本文介绍了C语言中如何使用指针数组存储字符串。通过示例,展示了如何声明和初始化指针数组,以及如何通过指针数组访问和操作字符串。文章还提及了数据的存址和存值方式,并提供了一个通用的数据交换函数byte_swap()的实现,该函数可用于交换任何类型的数据,包括字符串。
摘要由CSDN通过智能技术生成

>>>>1.字符串与指针数组

如果有以下定义:int data0 = 1, data1 = 2, data2 = 3;

int *ptr0 = &data0, *ptr1 = &data1, *ptr2 = &data2;

实际上地址也是数据,那么数组也可以保存指针,因此可以在基本数据类型的基础上派生一个构造类型,即将相同类型的指针变量集合在一起有序地排列构成指针数组。在指针数组变量的每一个元素中存放一个地址,并用下标区分它们。虽然数组与指针数组存储的都是数据,但还是有细微的差别。数组存储的是相同类型的字符或数值,而指针数组存储的是相同类型的指针。比如:

int data0, data1, data2;

int *ptr[3] = {&data0, &data1, &data2};

该声明被解释为ptr是指向int的指针的数组(元素个数3),“int *[3]”类型名被解释为指向int的指针的数组(元素个数3)类型。即ptr指针数组是数组元素为3个指针的数组,其本质是数组,类型为int *[3],ptr[0]指向&data0,ptr[1]指向&data1,ptr[2]指向&data2。

由于ptr声明为指针数组,因此ptr[0]返回的是一个地址。当用*ptr[i]解引用指针(i=0~2)时,则得到这个地址的内容,即*ptr[0]==1,*ptr[1]==2,*ptr[2]==3。当然,也可以使用等价的指针表示法,ptr+i表示数组第i个元素的地址。如果要修改这个地址中的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值