c语言如何声明字符串

Python08

c语言如何声明字符串,第1张

C语言中没有字符类型的变量。

他只有字符变量类型char,所以字符串用变通的方式来表示。

第一是字符数组来表示字符串。用下面的语句声明:

char a[10]

C语言中字符数组与字符串的唯一区别是字符串末尾有一个结束符'\0',而字符数组不需要。

如刚才声明的a[10]是一个含有10个元素的字符数组,它也能存放含有9个元素的字符串。

第二种方式是直接用指针。语句是:

char *a

用指针声明的字符数组,大多数功能与字符数组表示字符串相同。但也有以下两点不同,一是储存位置不同,用字符数组表示时,字符串是存放在储存器的变量区域内;而用指针表示的字符数组是存储在储存器的常量区内;第二个区别是字符数组的字符串可以更改,而指针表示的字符串不能更改。

有关字符串的赋值方法,如何引用,请参考相关书籍。

有什么问题请留言。

前者定义的是指针,并且指向字符串常量“nihao”,后者是字符串数组。

区别在于,char * a = "nihao"的话,a指针本身是可以变化的,如a = "123",但对字符串常量进行操作是不行的,如,a[0] = '1'。

char a[] = "nihao"表示字符数组初始化为"nihao",a本身不可以变化的,如a = “123”,但a里面的元素可以变化

比如 char name[4];和char *name;

用的时候就可以传两个的形式分别是:

name(这个是name的地址哦)和name(一样的)

其实后面的name就是存放的一个地址,前面的那个其实本质上也是一个地址,就是说在传形参的时候完全一样。