C语言学函数不明白里面的括号们

#include <stdio.h>

void print(char str[]) {
puts(str);
}
int main()
{
char str[101];
gets(str);
print(str);
}
不太明白开始那个str[]是什么意思,还有后面str[101]是什么意思,有啥含义啊,你们能用通俗的那种语言吗?😭
题目是打印一串字符,数据范围1到100

char str[101]是定义了一个字符数组。共占101个字符空间。从代码看表示一个字符串
函数参数char str[]和和char *str是一个意思,表示一个字符类型的指针

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^