C语言--数组与指针--打印字符串的n种方式


一.知识背景

一维数组名的含义

arr一般表示数组的起始地址(除了两种例外)

1.在定义数组的同一个函数中(不是形参),求sizeof(arr),求整个数组的字节数

2.在定义数组的同一个函数中(不是形参),&arr+1,加整个数组的大小 (经常考试)

3.除上面以外,arr都表示数组的起始地址(首元素的地址)

字符串的结束标志是\0 ,如果定义一个字符串char str[12]="hello world",再定义一个字符型指针变量保存str的地址,char*p=str,那么在循环中我们可以用**while(*p!='\0')**来控制循环条件

二.打印的思路

1.用%s整体直接打印字符串的

2.用%c一个字符串一个字符串打印(这里又分为通过下标移动打印和指针移动打印)

通过下标移动打印字符串

通过指针移动打印字符串


三.代码实现

方法一:

cpp 复制代码
#include<stdio.h>
int main()
{
	char str[12] = "hello world";
	printf("%s", str);
	
	return 0;
}

方法二:

cpp 复制代码
#include<stdio.h>
int main()
{
	char str[12] = "hello world";
	char* p = &str[0]; //char*p=str  ==>  p==str
	printf("%s\n", p); 
	return 0;
}

方法三:

cpp 复制代码
#include<stdio.h>
int main()
{
	char str[12] = "hello world";
	char* p = &str[0]; //char*p=str  ==>  p==str
	printf("%s\n", &str[0]);
	return 0;
}

方法四:

cpp 复制代码
#include<stdio.h>
int main()
{
	char str[12] = "hello world";
	for (int i = 0; i < strlen(str); i++)
	{
		printf("%c", str[i]);
	}

	return 0;
}

方法五:

cpp 复制代码
#include<stdio.h>
int main()
{
	char str[12] = "hello world";
	char* p = str;
	while(*p != '\0') 
	{
		printf("%c", *p);
		p++; //当指针所指向的内容不等于\0时,指针往后面走
	}
	return 0;
}

创作不易, 如果这份博客👍对你有帮助,可以给博主一个免费的点赞以示鼓励。

欢迎各位帅哥美女点赞👍评论⭐收藏⭐,谢谢!!!

如果有什么疑问或不同的见解,欢迎在评论区留言哦👀。

祝各位生活愉快⭐

相关推荐
科大饭桶8 分钟前
C++入门自学Day14-- Stack和Queue的自实现(适配器)
c语言·开发语言·数据结构·c++·容器
肉夹馍不加青椒7 小时前
第三十三天(信号量)
java·c语言·算法
古译汉书7 小时前
嵌入式-SPI番外之按钮驱动程序的编写-Day15
c语言·stm32·单片机·嵌入式硬件·mcu·算法
knd_max7 小时前
C语言:字符函数与字符串函数(1)
c语言
444A4E10 小时前
深入理解Linux进程管理:从创建到替换的完整指南
linux·c语言·操作系统
敲上瘾10 小时前
Linux I/O 多路复用实战:Select/Poll 编程指南
linux·服务器·c语言·c++·select·tcp·poll
海天胜景10 小时前
编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET... 拒绝访问
c语言·windows
草莓熊Lotso12 小时前
【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day8
c语言·开发语言·c++·刷题·强化训练
pusue_the_sun21 小时前
数据结构:二叉树oj练习
c语言·数据结构·算法·二叉树
曙曙学编程1 天前
stm32——GPIO
c语言·c++·stm32·单片机·嵌入式硬件