1,首先,不论是局部,静态还是全局数组都必须在定义的时候初始化,否则就得通过其他方式,eg 循环操作,字符串处理函数strcpy()
2,附以下代码: 主要完成将”I am from china ”倒置为”china from am I”,
最开始编写时,将str定义为字符串数组,怎么都出不来结果。半天才发现应该用字符串指针数组
3,那么问题来了,字符串数组和字符串指针数组有什么区别
举个例子 char a[] = "hello"; //字符串数组,存放的是字符
char *b[] = {"hello", "world"};//字符串指针数组,存放的是指针即元素地址,指针指向其中的元素
字符数组初始化 char a[10] ="hello";//字符串以'\0'结尾,这种方式系统会自动在数组未填值的地方添加'\0'
char b[] = {'h', 'e' , 'l', 'l', '\0'};//类似于初始化整型数组,必须要手动在后面添加'\0'
所以当我 这样定义时char a[] = {"hello", "world"};,报错str中有多余的元素。