嵌入式学习第二篇——C语言基础11

1.指针数组:


    int *a[5];

    char *str[5];

    指针数组主要用来操作字符串数组,通过将指针数组的每个元素存放字符串的首地址实现对多个字符串的操作


    二维数组主要用来存储字符串数组,通过每行存储一个字符串,多行存储多个字符串所组成的数组

具体如下:

#include<stdio.h>

int main(void)
{
	int a[5] = {1,2,3,4,5};
	int (*p)[5] = NULL;
	int i = 0;

	p = &a;

	printf("%p\n",a);

	printf("%p\n",p);

	for(i = 0;i < 5;i++)
	{
		printf("%d\n",*(*p + i));
	}

	return 0;
}

1,数组指针,指针,数据之间的关系

                int a[m][n] = {0};

数组指针         第一组第一个元素首地址        a                 a

   指针                   第一个元素首地址           a[m]          *(a+m)

   数据                         第一个元素              a[m][n]     *(*(a+m)+n)

2.指针和二维数组的关系:


    int a[2][3] = {0};
    int *p = NULL;
    int (*q)[3] = NULL;

    p = &a[0][0];
    p = a[0];
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值