C字符串常量定义

 我来答
小夏聊生活
高能答主

2019-11-25 · 专注于分享生活知识,热爱生活
小夏聊生活
采纳数:447 获赞数:114591

向TA提问 私信TA
展开全部

常量有整型常量、浮点型常量、字符型常量及字符串常量。 ‘

字符串常量定义是指定义符号常量,用一个标识符来代表一个常量,通过宏定义预处理指令来实现。常量的定义:

#define count 60

这就定义了一个常量 count 它的值是一个常量60 在整个程序中不变。主调函数中的参数是实际参数,被调函数中的参数是形式参数。

比如说:如下代码段

被调函数:

int max(int a,int b)

{if(a>b)

return a;

else return b;

}

主调函数:

main()

{

max(a,b);

}

在北调函数max(int a,int b)中a,b是形式参数在主函数中max(a,b)中的a,b是实际参数。

扩展资料

1、在C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。

2、在程序中,字符串常量会生成一个“指向字符的常量指针”。当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所存储的地址,而不是这些字符本身。

3、可以把字符串常量赋值给一个“指向字符 的指针”,例如:char *a = "123" ; a = "abc";,后者指向这些字符所存储的地址。

可以叫我表哥
推荐于2017-09-19 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464972
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
在C中定义字符串有下列几种形式:字符串常量,char数组,char指针 1.字符串常量 即:位于一对双括号中的任何字符。双引号里的字符加上编译器自动提供的结束标志\0字符,作为一个字符串存储在内存中。如:printf(%s,hello); //hello 如果字符串文字中间没有间
在C中定义字符串有下列几种形式:字符串常量,char数组,char指针
1.字符串常量
即:位于一对双括号中的任何字符。双引号里的字符加上编译器自动提供的结束标志\0字符,作为一个字符串存储在内存中。如:printf("%s","hello"); //"hello"
如果字符串文字中间没有间隔或间隔的是空格符,ANSI C 会将其串联起来。例:
char greeting[50] = "hello,and" "how are" "you";
等价于:
char greeting[50] = "hello,and how are you";
字符串常量属于静态存储类。静态存储是指如果在一个函数中使用字符串常量,即使是多次调用了这个函数,
该字符串在程序的整个运行过程中只存储一份。整个引号的内容作为指向该字符串存储位置的指针。这一点与
把数组名作为指向数组存储位置的指针类似。
2.字符串数组及其初始化
初始化例子:
char m[40] = "hello,world"; //定义字符串数组时必须指定数组大小(整型常量),在指定大小时,要确保数组的大小比预定的大一个,因为编译器会自动添加'\0'。
//多余的元素会初始化为'\0'
char m={'h','e','l','\0'}; //注意标志结束的空字符,若没有它,得到的只是一个字符数组而不是字符串
3.利用char指针定义字符串
char *m = "hello,world"; //自动添加'\0'
注意:此时字符串指针m指向字符串常量,不成用*(m+1)='o'修改此常量,因为这个字符串常量放在常量区不能被修改
4.数组和指针
数组形式和指针形式有什么不同呢?
数组形式: char m[40] = "hello,world";
指针形式: char *m = "hello,world";
数组形式:
编译器会把数组名m看作是数组首元素的地址&m[0]的同义词,m是个地址常量。可以用m+1来标识数组里的下一个元素,但不能使用++m,增量运算符只能在变量前使用, 而不能在常量前使用。
m[40]在计算机内存中被分配一个有40个元素的数组(其中每个元素对应一个字符,还有一个附加的元素对应结束的空字符'\0')。每个元素都被初始化为相应的字符。
通常,被引用的字符串存储在可执行文件的数据段部分;当程序被加载到内存中时,字符串也被加载到内存中,把被引用的字符串复制到数组中
指针形式:
指针形式(*m)也会在静态存储区为字符串预留空间。此外,一旦程序开始执行,还要为指针变量m另外预留一个存储位置,以在该指针变量中能够存储字符串的地址。
m指向字符串的第一个字符,可用++m指向第二个字符。 指针m是个变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
四舍五不入6
高粉答主

2020-03-22 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:1.9万
展开全部

常量有整型常量、浮点型常量、字符型常量及字符串常量。 ‘

字符串常量定义是指定义符号常量,用一个标识符来代表一个常量,通过宏定义预处理指令来实现,常量的定义:

#define count 60

这就定义了一个常量 count 它的值是一个常量60 在整个程序中不变。主调函数中的参数是实际参数,被调函数中的参数是形式参数。

扩展资料:

在C中定义字符串有下列几种形式:字符串常量,char数组,char指针

字符串常量

即:位于一对双括号中的任何字符。双引号里的字符加上编译器自动提供的结束标志\0字符,作为一个字符串存储在内存中。如:printf("%s","hello"); //"hello"

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

char greeting[50] = "hello,and" "how are" "you";

等价于:

char greeting[50] = "hello,and how are you";

参考资料来源:百度百科-字符串常量

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
畅景彰b5
2011-01-21 · TA获得超过4373个赞
知道小有建树答主
回答量:839
采纳率:0%
帮助的人:1256万
展开全部
字符串常量的定义方法是
const char s2[]="this is s2";
另外还有一种也可以起到这样的作用就是定义一个宏
#define s1 "this is s1"
这是我给你的一个验证的函数
#include<stdio.h>
#define s1 "this is s1"
const char s2[]="this is s2";
void main()
{
puts(s1);
puts(s2);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-01-21 · TA获得超过877个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:340万
展开全部
C中只能用字符数组定义字符串,如char A[10]={"abcdefg"}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式