C语言学习--02一维数组

#include<stdio.h>
int Sort(char arr[])
{
	int sz = sizeof(arr);
	printf("%d\n", sz);
	return 0;
}
int main()
{
	int i;
	char* p;
	char ch5[] = "lxd";
	char ch6[] = { 'l','x','d' };
	//打印到“\0”才会停止打印
	printf("%s\n", ch5);
	printf("%s\n", ch6);

	//计算“\0”之前的字符个数
	printf("%d\n", strlen(ch5));
	printf("%d\n", strlen(ch6));

	//"%p"用于打印地址(16进制)
	for (i = 0; i < 3; i++)
	{
		printf("%p\n", &ch5[i]);
	}

	/*
	* 数组名是数组首元素地址,但是有两个例外:
	* 1.sizeof(数组名),数组名表示整个数组,计算的是整个数组的大小,单位是字节
	* 2.&数组名,数组名表示整个数组,取出的是整个数组的地址
	*/
	p = ch5;
	for (i = 0; i < 3; i++)
	{
		printf("%c\n",*p);
		p++;
	}
	int sz = sizeof(ch5);
	printf("%d\n", sz);
	printf("%d\n", sizeof(ch5[0]));
	Sort(ch5);//数组传参时,传递的其实是首元素地址,形参无法在函数内部计算元素个数
	printf("请输入:\n");
	scanf("%c", &ch5[1]);
	getchar();//输入字符串字后需要用getchar()或fflush(stdin)清空缓冲区里的'\n'才可继续输入
	//但是我在VS2022中使用fflush(stdin)后输入字符失败
	scanf("%c", ch5);
	printf("%c\n", ch5[0]);
	printf("%c\n", ch5[1]);
	printf("%p\n", ch5);//表示数组首元素的地址
	printf("%p\n", &ch5[0]);//表示数组首元素的地址
	printf("%p\n", &ch5);//表示数组的地址
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值