指针+数组=指针数组

指针–>数组—>指针数组

指针
什么是指针?在计算机科学中,指针(Pointer)是编程语言的一个对象,利用地址,它的值直接指向(Pointer)存在电脑存储器中另一个地方的值。由于通过地址能和找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能够找到以它为地址的内存单元。在高级语言中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通那个地址中存储的值。做个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考操作。

#include <stdio.h>
#include <stdlib.h>
int main()
{
	char c = 'w';
	char* cp = c;
	
	//%p是输出地址
	printf("%c".c);
	printf("%p",&c);
	printf("%p\n",cp);
	
	//观察能都通过解引用操作通过地址改变变量的值
	*cp = 'b';
	printf("%c",c);
	printf("%p",&c);
	printf("%p",cp);
	
	system("pause");
	return 0;
}

```c

**数组**
所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,又是也称为下标变量。用于区分数组的各个元素的数字编号为下表。数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。

```c
#include <stdio.h>
#include <stdlib.h>


void test1(int arr[10])
{
	printf("arr -->%p",arr);
	printf("arr[0] = %d",*arr);
}

void test2(char arr[])
{
	printf("arr-->%p",arr);
	printf("arr[0] = %c",*arr);
}

int main()
{
	int arr1[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
	char arr2[] = "hello world!";
	
	//函数传参 数组名是数组第一个元素的地址
	//函数名和首元素地址一样 但是数组名 “不等于” 数组首元素地址
	//打印int型数组
	test1(arr1);
	printf("arr1-->%p",&arr1[0]);
	//打印char类型数组
	test2(arr2);
	printf("arr2--->%p",&arr2[0]);
	
	system("pause");
	return 0;
}

指针数组
指针数组是指针还是数组?
指针数组是“数组”,是存放指针的数组
int arr1[6];
char arr2[6];
int* arr3[6];
指针数组和常见数组一样 数组类型是指针类型,数组中存放的也是指针

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值