基于Linux的c语言

一维数组与指针

一,整型数组与指针

        数组:在内存中,数组的数据元素是⼀段连续的空间,在这段空间中每 个元素占⽤对应的⼤⼩,元素与元素之间相连。

        数组的地址的访问:

1.使用for循环下标索引。

	int a[5] = {1,2,3};	//定义一个数组,部分初始化赋值。
	for (int i=0; i<5;i++)
	{
		printf("%p\n",&a[i]);
	}

2.使用指针:

int *p;
	p = &a[0];
	for (int i=0; i<5;i++)
	{
		printf("%p\n",p+i);	
	}

        由于数组的数据元素是连续的,元素地址是相邻的,只要有⼀个指针存储了 数组元素的地址,就可以指针运算(+、-)可以得到数组其他元素的地址。总的来说只要知道了数组的首地址就能知道数组中其他元素的地址。

        数组的首地址:数组的第一个元素。数组名就是首地址。

   3.使用指针对数组首地址的访问:

int a[5] = {1,2,3};	//定义一个数组,部分初始化赋值。
int *p;
p = &a[0];

4.使用指针对其他数组元素地址的访问。

        数组⾸地址 + n

二,字符数组与指针

1,字符数组的定义

        char 数组名[ 数组元素个数]       

         例:char buf[10];

2,字符数组元素的首地址

        和整型数组首地址一样,字符数组的第一个元素的地址就是字符数组的首地址,简单的来说,字符数组的数组名就是字符数组的首地址。

        char buf[10];

         char * p = buf;//p就代表数组⾸地址

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值