我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:财神爷图库 > 定义符 >

C字符串常量定义

归档日期:07-20       文本归类:定义符      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  知道合伙人数码行家采纳数:26175获赞数:2366562010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。向TA提问展开全部在C中定义字符串有下列几种形式:字符串常量,char数组,char指针 1.字符串常量 即:位于一对双括号中的任何字符。双引号里的字符加上编译器自动提供的结束标志0字符,作为一个字符串存储在内存中。如:printf(%s,hello); //hello 如果字符串文字中间没有间

  如果字符串文字中间没有间隔或间隔的是空格符,ANSI C 会将其串联起来。例:

  字符串常量属于静态存储类。静态存储是指如果在一个函数中使用字符串常量,即使是多次调用了这个函数,

  该字符串在程序的整个运行过程中只存储一份。整个引号的内容作为指向该字符串存储位置的指针。这一点与

  char m[40] = hello,world; //定义字符串数组时必须指定数组大小(整型常量),在指定大小时,要确保数组的大小比预定的大一个,因为编译器会自动添加0。

  注意:此时字符串指针m指向字符串常量,不成用*(m+1)=o修改此常量,因为这个字符串常量放在常量区不能被修改

  编译器会把数组名m看作是数组首元素的地址&m[0]的同义词,m是个地址常量。可以用m+1来标识数组里的下一个元素,但不能使用++m,增量运算符只能在变量前使用, 而不能在常量前使用。

  m[40]在计算机内存中被分配一个有40个元素的数组(其中每个元素对应一个字符,还有一个附加的元素对应结束的空字符0)。每个元素都被初始化为相应的字符。

  通常,被引用的字符串存储在可执行文件的数据段部分;当程序被加载到内存中时,字符串也被加载到内存中,把被引用的字符串复制到数组中

  指针形式(*m)也会在静态存储区为字符串预留空间。此外,一旦程序开始执行,还要为指针变量m另外预留一个存储位置,以在该指针变量中能够存储字符串的地址。

  m指向字符串的第一个字符,可用++m指向第二个字符。 指针m是个变量。

  const char str[]=ni shi yi ge da ben dan;

本文链接:http://mymediaworld.net/dingyifu/755.html