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

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

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

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

祝各位生活愉快⭐

相关推荐
DARLING Zero two♡4 小时前
关于我、重生到500年前凭借C语言改变世界科技vlog.16——万字详解指针概念及技巧
c语言·开发语言·科技
QAQ小菜鸟4 小时前
一、初识C语言(1)
c语言
何曾参静谧5 小时前
「C/C++」C/C++ 之 变量作用域详解
c语言·开发语言·c++
互联网打工人no15 小时前
每日一题——第一百二十一题
c语言
朱一头zcy6 小时前
C语言复习第9章 字符串/字符/内存函数
c语言
此生只爱蛋6 小时前
【手撕排序2】快速排序
c语言·c++·算法·排序算法
何曾参静谧7 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
lulu_gh_yu7 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
~yY…s<#>9 小时前
【刷题17】最小栈、栈的压入弹出、逆波兰表达式
c语言·数据结构·c++·算法·leetcode
EricWang135811 小时前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端