正则表达式find . | grep '\.c$\|\.h$' | cat理解问题

find . | grep '.c$|.h$' | cat
这个正则表达式的功能是找到目录下的所有.c文件和.h文件,
但我不理解.c$\中最后一个反斜杠的作用是什么?
把这个反斜杠去掉可以么?

\.c$|\.h$ 是匹配字符串结尾处的 “.c” 或者“.h”
因为正则表达式中 点“.”是匹配除了换行符之外的任意字符,所以要直接匹配“.”就需要在前面加反斜杠转义