C语言允许用字符串的方式对数组作初始化赋值。例如:
static char c[]={'c',' ','p','r','o','g','r','a','m'}; 可写为:
static char c[]={"C program"}; 或去掉{}写为:
static char c[]="C program";
当对全体元素赋初值时也可以省去长度说明。例如:static char c[]={`c`,` `,`p`,`r`,`o`,`g`,`r`,`a`,`m`};这时C数组的长度自动定为9。
扩展资料:
数组的使用规则:
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。
3.如不给可初始化的数组赋初值,则全部元素均为0值。
4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
参考资料:
1、直接逐个初始化字符数组:
字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。
char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};注意:如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即'\0' )。
2、用字符串常量来初始化字符数组:
在c语言中,将字符串作为字符数组来处理。因此可以使用字符串来初始化字符数组。
char str[]={"I am happy"};也可以省略花括号。
char str[]="I am happy";但是,上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的赋值,字符数组的赋值只能对其元素一一赋值,下面的赋值方法是错误的。
char str[];初始化char数组:
char str[10]="Hello";第一种情况:初始化数据小于数组长度
如前面两个初始化的例子,这两个例子的效果一样,前五个字符为Hello,剩余的用'\0'填充
第三行与第四行,都只指定了第一个字符,剩余的全部用'\0'填充。第四个例子相当将整个数组初始化为'\0'
第二种情况:初始化数据等于或超过数据长度
这种情况下,超出的部分将被丢弃,所以最五个例子的最后一个字符为'r'.
此时使用一些字符串函数时要特别注意,因为该数组不含有'\0',会造成不可预期的结果
第三种情况:不指定数组长度
这种情况下,数组部分如果不含有明确指定的'\0',那么编译时会被自动添加一个'\0';
在数组不含有明确的'\0'时,sizeof=strlen+1
C语言字符数组如何初始化?
1、直接逐个初始化字符数组:字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};注意:如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,...
C语言字符数组如何初始化?
C语言允许用字符串的方式对数组作初始化赋值。例如:static char c[]={'c',' ','p','r','o','g','r','a','m'}; 可写为:static char c[]={"C program"}; 或去掉{}写为:static char c[]="C program";当对全体元素赋初值时也可以省去长度说明。例如:static char c[]={`...
c语言数组的初始化表示方法
在C语言中,可以在声明数组的同时进行初始化,称为静态初始化。例如:c int array[5] = {1, 2, 3, 4, 5};这里声明了一个整型数组`array`,并初始化为五个值。数组的大小由声明的数值决定,初始化列表中的值按顺序分配给数组的每一个元素。二、部分初始化 如果知道数组的部分值,可以只初始...
C语言 | 字符数组
初始化字符数组通常通过“初始化列表”,逐个为数组元素赋值,这是最直观的理解方式。若未初始化,数组元素的值是不确定的。在C语言中,字符数组中的元素可以通过引用获取其字符值。字符串处理方面,C系统自动在存储字符串常量时添加'\\0'作为结束标志,尽管这不是必须的,但有助于识别字符串长度。字符数...
怎么对字符数组初始化?
char s[]={'a','b','c'};s数组自动初始化为带三个元素的数组 如果是unsigned char类型,则只能使用前者形式了。static char c[]={'c',' ','p','r','o','g','r','a','m'}; 可写为:static char c[]={"C program"}; 或去掉{}写为:static char c[]="C program";当...
c语言字符数组使用方法
对C语言处理字符串的方法由以上的了解后,再对字符数组初始化的方法补充一种方法――即可以用字符串常量来初始化字符数组:char str[ ]={"I am happy"}; 可以省略花括号,如下所示 char str[ ]="I am happy";注意:上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的...
c语言如何先声明后初始化字符数组
只能叫做对数组进行赋值操作。举例如下:char a[]="abcd"; \/\/ 定义(声明)字符数组a,并进行初始化\/\/ 以下为数组的赋值操作char b[5]; \/\/ 定义(声明)一个字符数组b\/\/ 对字符数组每个元素进行赋值b[0] = 'a'; b[1] = 'b';b[2] = 'c';b[3] = 'd';b[4] = 'e';...
2018年9月计算机二级C语言考点解析:字符串
对字符数组初始化,可以采用以下方法:(1)逐个字符赋给数组中各元素;(2)用字符串常量使字符数组初始化。3.字符串 在C语言中,字符串是作为字符数组来处理的,字符串可以存放在字符型一维数组中,故可以把字符型一维数组作为字符串变量。字符串常量是用双引号括起来的一串字符。C语言中约定用′\\0′...
【C语言】初始化数组,C语言中初始化特定列表和元素!
可以利用字符串字面量来初始化数组 char、wchar_t、char16_t 或 char32_t。借助于 C99 新增的元素指示符(element designator),可以把初始化器关联到特定的元素。当需要把特定的元素与初始化器关联时,将其索引值放在方括号内。换句话说,数组元素的元素修饰符一般格式如下:[常量表达式]索引值必须...
C语言中 字符串数组的初始化格式是怎么样的?
比如: char a[10]="\\0"; 用API memset(a,'\\0',sizeof(a)); 也可以写个for来完成 记得采纳啊