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

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

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

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

祝各位生活愉快⭐

相关推荐
island131423 分钟前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构 Stream 调度机制
c语言·开发语言·神经网络
Once_day2 小时前
C++之《程序员自我修养》读书总结(1)
c语言·开发语言·c++·程序员自我修养
坚果派·白晓明2 小时前
在鸿蒙设备上快速验证由lycium工具快速交叉编译的C/C++三方库
c语言·c++·harmonyos·鸿蒙·编程语言·openharmony·三方库
风指引着方向3 小时前
图编译优化全链路:CANN graph-engine 仓库技术拆解
c语言
C++ 老炮儿的技术栈3 小时前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
Once_day4 小时前
C++之《Effective C++》读书总结(4)
c语言·c++·effective c++
晓13134 小时前
第七章 【C语言篇:文件】 文件全面解析
linux·c语言·开发语言
梵刹古音4 小时前
【C语言】 指针基础与定义
c语言·开发语言·算法
杜子不疼.5 小时前
Ascend_C自定义算子开发
c语言·开发语言