c语言存放多个字符串

在c语言中,若想存放多个字符串,比如说
happy new year
应该用什么数据类型存放呢?
为什么存字符串有的用一维字符数组有的用二维字符数组?

[问] 应该用什么数据类型存放呢?
[答] 常用写法为:

const char* str[] = {"happy", "new ", "year"};
int strLen= sizeof(str) / sizeof(str[0]);

[问] 为什么存字符串有的用一维字符数组有的用二维字符数组?
[答] 根据使用场景和开发习惯决定。