以下是引用梦想远航lyz在2018-1-21 22:21:08的发言:
字符串数组的定义:
char a[5] = {'1','2','3','4'};
char b[4] = "1234";
这两种都合法好吗,而且打印printf("%s\n",a);//a代表数组首地址
字符串数组的定义:
char a[5] = {'1','2','3','4'};
char b[4] = "1234";
这两种都合法好吗,而且打印printf("%s\n",a);//a代表数组首地址
这个只能说是字符数组的定义,不能说是字符串数组的定义。
1、char a[5] = {'1','2','3','4'};没有'\0'结束字符,C语言的字符串是以'\0'作为字符结束字符。
2、b[4] = "1234"; 这个字符串需要5个字节来存放,b[4]显然不够。