大家好,今天小编关注到一个比较有意思的话题,就是关于c语言 初始化字符串的问题,于是小编就整理了4个相关介绍c语言 初始化字符串的解答,让我们一起看看吧。
C语言如何给字符数组初始化?
1、直接逐个初始化字符数组:
字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。
char str[10]={ 39;I',' ','a','m',' ',‘h’,'a','p','p','y'};
注意:如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即'\0'
)。
2、用字符串常量来初始化字符数组:
在c语言中,将字符串作为字符数组来处理。因此可以使用字符串来初始化字符数组。
也可以省略花括号。
char str[]="I am h***y";
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。
c语言字符串表示方法?
1. C语言中字符串的表示方式有两种:字符指针和字符数组
2. 字符指针表示字符串
例如:char *p = "linux" ; p是字符指针,"linux" 字符串本身,当编译器遇到这种字符串表示时,会将指针和字符串本身分开处理, 字符指针p是一个变量,将其放在栈上,而字符串本身 "linux" 则被存放在代码段,其首地址赋给p。
从内存角度分析:
c语言中,怎么样定义一个字符串变量?
但是可以用字符数组来处理字符串。(这定义了一个字符数组,名为a)
例:char a[] = "hello";
也可以用来定义一个指针变量(定义了一个指针变量,名为p)。
例:char *p = "hello";
C语言中没有专门的字符串变量,如果要将一个字符串存放在变量中,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。
定义: char c[10]
字符型与整型互相通用,因此 int c[10] 也可以定义字符数组。但由于两种类型分配字节不同, 用整型来定义会浪费空间, 另外这样定义实际意义也不大, 只是为了说明其合法性。
最简单的方法即逐个赋值: char c[10]={'I', ' ', 'a', 'm', ' ', 'h', 'a', 'p', 'p', 'y'}; 10个字符分别赋绐c[0]到c[9]10个元素。
到此,以上就是小编对于c语言 初始化字符串的问题就介绍到这了,希望介绍关于c语言 初始化字符串的4点解答对大家有用。