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;
}

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

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

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

祝各位生活愉快⭐

相关推荐
fai厅的秃头姐!3 小时前
C语言03
c语言·数据结构·算法
life_time_3 小时前
C语言(22)
c语言·开发语言
鱼嘻5 小时前
Linux自学day23-进程和线程
linux·服务器·c语言·进程和线程
BUG 劝退师6 小时前
C语言预处理学习笔记
c语言·笔记·学习
小立爱学习7 小时前
Linux 内核自旋锁spinlock(四)--- queued spinlock
linux·c语言
我爱蛋蛋后9 小时前
Linux驱动开发之音频驱动与基础应用编程
linux·c语言·驱动开发·音视频
卷卷的小趴菜学编程10 小时前
c++之多态
c语言·开发语言·c++·面试·visual studio code
大白的编程日记.11 小时前
【C++笔记】C+11深度剖析(三)
c语言·开发语言·c++
和光同尘@12 小时前
56. 合并区间 (LeetCode 热题 100)
c语言·开发语言·数据结构·c++·算法·leetcode·职场和发展
YH_DevJourney13 小时前
Linux-C/C++《C/9、信号:基础》(基本概念、信号分类、信号传递等)
linux·c语言·c++