-
2020-10-21 11:07:32
空字符串
char s[]="";
即第dao一个字符是'\0'
空格字符
char s[]=" ";
只有空格组成的字符串字符串变量
char s[] = "abc";
s就是字符串变量
char *s = "abc";
s就是字符串常量,"abc"也是字符串常量。字符串里面的字符的值不能再改变了
主串和子串
char s[] = "abcdef";其中s全部的字符串"abcdef",就是主串,其中连续的一部分,例如"abc","bcde","ef"等都可以叫子串。
串变量的名字与串变量的值
char s[] = "abcdef";
s是串的名字,"abcdef"是串的值。
更多相关内容 -
Python将字符串常量转化为变量方法总结
2020-09-19 12:54:12在本篇内容里我们给大家整理了一篇关于Python将字符串常量转化为变量方法的知识点总结,有需要的朋友们学习下。 -
字符串常量和字符串变量
2021-03-28 15:57:30字符串常量 有些编译器把多个相同的字符串常量看成一个(节省空间),有些则不进行此优化 //1、字符串常量 vs下是可以共享的 void test01() { char * p1= "hello world"; char * p2 = "hello world"; char * p3...字符串常量
- 有些编译器把多个相同的字符串常量看成一个(节省空间),有些则不进行此优化
//1、字符串常量 vs下是可以共享的 void test01() { char * p1= "hello world"; char * p2 = "hello world"; char * p3 = "hello world"; printf("%d\n",&"hello world"); printf("%d\n", p1); printf("%d\n", p2); printf("%d\n", p3); }
- 字符串常量不可修改(vs环境下)
void test01{ char * p1 = "hello world";//字符串常量,指针p1指向了这个字符串的首地址 printf("%d\n", p1); printf("%c\n", p1[0]); //p1[0] = 'W'; //不允许修改 常量区内容 printf("%s\n",p1);//无法打印,程序出错 }
这里的字符串“hello world”是在常量区中的,定义了一个指针变量p1指向这块常量区,但是常量区中的数据是不允许修改的;
上述案例中字符串常量修改失败,但这不是绝对的
- 有些编译器把多个相同的字符串常量看成一个(节省空间),有些则不进行此优化
- ANSI C中规定:修改字符串常量,结果是未定义的
- 有些编译器可修改字符串常量,有些编译器则不可修改字符串常量
字符串变量
void test02{ char p1[] = "hello world"; printf("%d\n", p1); printf("%c\n", p1[0]); p1[0] = 'W'; //允许修改 printf("%s\n",p1);//打印输出Wello world }
这里的p1是一个字符数组,相当于字符串变量,字符串“hello world”是在常量区中,但是函数调用的时候定义了一个字符数组p1用来存放字符串,从常量区拷贝了一份放在了栈区;实际修改并不是常量区中的那个“hello world”,而是修改栈区字符数组中的数据,所以可以修改成功,正常打印输出;
总结:尽量不要去修改字符串常量;一般情况下字符串常量不可修改,强制修改程序报错或崩溃,但某些编译器下允许修改; -
C 字符串常量和字符串变量定义和区别
2018-12-07 12:46:28字符串常量 定义:在一个双引号""内的字符序列或者转义字符序列称为字符串常量 例如:“HA HA!” “abc” “\n\t” 这些字符串常量是不能改变的,如果试图改变指针所指向的内容是错误的 因为字符串常量是...字符串常量
定义:在一个双引号""内的字符序列或者转义字符序列称为字符串常量
例如:“HA HA!” “abc” “\n\t”
这些字符串常量是不能改变的,如果试图改变指针所指向的内容是错误的
因为字符串常量是存在静态内存区的,不可以改变的。
如定义字符串常量:
char* a=“i love you.”;
*a=‘h’; //试图改变它
这是错误的。系统显
string.exe 中的 0x00d71398 处未处理的异常: 0xC0000005: 写入位置 0x00d7573c 时发生访问冲突或者报该内存不能为written。
字符串变量
在C语言中没有纯粹的c语言字符串变量,可以通过一个字符数组来体现,这样就
可以对字符数组中的内容进行改变!如上式可改为。
如定义字符串变量:
char a[]=“i love you.”;
*a=‘h’;/**
*字符串常量
*程序将会报错,不能改变字符串常量值。*修改失败
**/
#include <stdio.h>
#include <stdlib.h>void main()
{char *str = “abcdef”;
printf("%s,%p\n", str,str);
*str = ‘C’; //修改第三个字符为大写
printf("%s,%p\n", str);}
/**
*字符串变量
*程序将改变字符串变量中其中的值。*修改成功
**/
#include <stdio.h>
#include <stdlib.h>void main()
{char str[] = “abcdef”;
char *p_str = str;
printf("%s\n", p_str);
*(p_str+2) = ‘C’; //修改第三个字符为大写
printf("%s\n", p_str);}
小结:
字符串常量:不能对值修改。 常量:“abc” 、123、char *str = “abcdef”、"\n"
字符串变量:能对值修改 。 变量:char c = “a”、char arr[] = “abc”
-
c语言常量和变量有什么区别?
2021-01-06 12:24:45c语言常量和变量有什么区别? c语言常量 常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。 ... -
字符串常量和字符串变量的区别
2018-12-01 23:11:44//字符串变量 char* s2 = “abc”;//字符串常量,先在常量区存储"abc",s2直接指向常量区的"abc" char s3[] = “abc”;//字符数组,先在常量区存储"abc",然后在栈区申请内存空间,将"...#include
#include
using namespace std;int main(){
string s1 = “abc”;//字符串变量
char* s2 = “abc”;//字符串常量,先在常量区存储"abc",s2直接指向常量区的"abc"
char s3[] = “abc”;//字符数组,先在常量区存储"abc",然后在栈区申请内存空间,将"abc"复制过来,s3指向栈区的"abc"
// s1[0] = ‘q’;//正确,
// s2[0] = ‘q’;//错误,s2所指向内容是常量,不能修改
// s3[0] = ‘q’;//正确
// s1 = “abcd”;//正确
// s2 = “abcd”;//正确,s2指向另外一个字符串常量
// s3 = “abcd”;//错误,s3是数组名,相当于指针常量,指向不能改变
cout << s1 << s2 << s3 << endl;
return 0;
}作者:楼兰剑客
来源:CSDN
原文:https://blog.csdn.net/vaemusicsky/article/details/81703336
版权声明:本文为博主原创文章,转载请附上博文链接! -
JAVA字符串常量和变量
2020-09-16 17:35:41其中String为字符串常量,StringBuffer、StringBuilder均为字符串变量。即:String对象创建后是不可以更改的,举个例子说明一下: String str="abc"; str=str+"de"; System.out.println(str); 首先第一行创建一个... -
Java字符串变量相加和字符串常量相加
2021-03-18 17:21:19字符串变量相加vs字符串常量相加 public static void main(String[] args) { String s1 = "hello"; String s2 = "world"; String s3 = "helloworld"; System.out.println(s3==s1+s2);//结果为false System.out.... -
C#中常量和只读变量的区别小结
2020-12-31 21:25:45常量和只读变量有以下区别: 1.常量必须在声明时就被初始化,指定了值后就不能修改了.只读字段可以在声明时被初始化,也可以在构造函数中指定初始化的值,在构造以后值就不能修改. 2.常量是静态的,而只读字段可以是静态... -
字符串常量和字符串变量的比较
2020-11-17 15:00:33字符串常量是由双引号括起来的字符集合,它实际上就是这些字符组成的一维字符数组,因此它的字面值是第一个字符的地址。 字符串变量分两种情况: 由一维字符数组定义的,如:char a[10]。其中字符串变量a代表的也是... -
C++字符串变量、字符串常量、string变量在内存中的存储分析
2021-05-19 12:26:13一、字符串常量和字符串变量 我们知道字符串常量是存储在文字常量区,也即C++中的静态存储区。 而字符串变量一般定义在栈区,当使用malloc时则定义在堆区。 char* ss = "hello world"; printf("%p\n", &ss... -
字符串变量相加和字符串常量相加的区别
2019-07-07 21:01:07为了了解字符串常量相加和字符串变量相加,首先看一个小例子: public class SocketTest { public static void main(String[]args)throws Exception{ String str1="abc"; String str2="abc"; String str3=... -
字符串常量和字符串变量C++
2018-08-15 14:16:01#include &lt;iostream&gt; #include &lt;string&gt; using namespace std;...//字符串变量 ...//字符串常量,先在常量区存储"abc",s2直接指向常量区的&am -
(转载)Java中字符串常量和字符串变量的区别
2018-11-06 18:41:55ava中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new String("droid");,这两种方式我们在代码编写时... -
字符串常量和变量区别
2018-11-12 10:03:00//字符串常量,先在常量区存储"abc",s2直接指向常量区的"abc" char s3[] = “abc”;//字符数组,先在常量区存储"abc",然后在栈区申请内存空间,将"a -
Java中字符串常量和字符串变量的区别
2016-06-29 10:51:51ava中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";...然而这两种实现其实存在着一些性能和内存占用的差别。这一切都是源于JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段 -
字符串常量和字符串对象区别
2021-03-31 09:49:50s1是字符串对象,s2和字符串常量,创建过程有何区别? 内存分配 字符串对象s1 栈中定义一个引用变量s1,堆中开辟一个内存空间,将堆内存空间的引用赋值给s1,“hello”是常量,去字符串常量池查看是否有“hello”字符... -
运行时常量池、字符串常量池、静态常量池、静态变量
2021-12-17 10:26:21静态常量池指的是java代码中定义的常量,经过jvm编译... 字符串常量池指的是类加载完成后,经过验证、准备阶段之后放在字符串常量池中。字符串常量池的数据只会存储一份,被所有的类共享。基本流程是:创建字符串之... -
C语言基础教程:字符常量和字符串常量
2021-05-19 07:55:511.字符常量字符常量由单引号括起的一个字符组成的。例如,‘B’,‘d’,’9’,’\n’,‘\0,’,’\”等都是字符常量,单引号是字符常量的定界符。单引号符可由}‘\”表示,即使用了转义序列的形式。因此,在字符... -
C++中字符串常量与字符串变量
2017-05-15 21:40:53刚开始我认为字符串常量在使用指针来给其他的字符串变量赋值时,原来的字符串在改变时,会导致指向该地址的字符串变量也改变。 但是一个很重要的概念就是 字符串常量存储空间里的内容不能被改变,并且只有在程序... -
计算机二级C语言变量和常量知识点
2021-05-20 05:13:40计算机二级C语言变量和常量知识点C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。下面是关于计算机二级C语言变量和常量知识点,希望大家认真阅读!一、变量(一... -
字符串常量与字符串变量的区别
2010-03-12 00:46:00字符串常量和字符串变量一样,都是一个一维字符数组。两者的区别在于:字符串变量的名字(一维字符数组名)及其所需的存储空间是显式定义的,并通过名字来引用相应的字符串变量。而字符串常量所需的存储空间是隐式... -
方法区元空间实现之jdk7和8字符串常量池、运行时常量池、静态变量到底在哪?
2020-07-15 16:27:543、关于字符串常量池和运行时常量池的位置说明: jdk1.6 存在永久代,字符串常量池、运行时常量池都是在永久代中; jdk1.7 存在永久代,字符串常量池被移动到了堆当中,运行时常量池还是在永久代中; jdk1.8 不存在... -
字符串常量变量相加
2018-09-02 21:14:24* 字符串如果是常量相加,是先加,然后在常量池找,如果有就直接返回,否则,就创建。 */ public class StringDemo4 { public static void main(String[] args) { String s1 = “hello”; String s2 = “world... -
如何在bash脚本中连接变量和字符串
2021-07-16 16:38:33How to concat variable and string in bash script ?val1 = Variable1 + "any string "eg :val1 = $i + "-i-*"where i = 24thMarchI want echo val1 :24thMarch-i-*What is proper proper to get the solution ?... -
C语言-字符与字符串常量及变量
2021-05-19 08:25:08字符型数据字符常量:用单引号括起来的一个字符例如:'a' 'A''$''!'注:'a'与'A'是不同的字符常量转义字符:①以一个'\'开头的字符序列例如:'\n'...故要想在字符串中使用它们,须在其前面加上一个反斜线③若反斜线... -
字符串变量是什么意思
2021-05-19 09:17:24下面是学习啦小编整理字符串变量的内容,欢迎阅读。字符串的简介字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=... -
Python程序设计:Python常量和变量.pptx
2022-06-12 17:41:07Python常量和变量 Python数字和运算符 Python内置函数 Python字符串 列表 元组 字典 集合 知识点:Python常量和变量 Python常量和变量 >>>x = 5 >>>type(x) #查看变量类型 输出结果: Python常量和变量 常量,是指不... -
实型变量(浮点型变量)、字符型数据、字符串常量(变量)、字符常量(变量)
2019-07-01 00:00:17实型变量 1、实型变量的舍入误差 因为内存分配给实型变量的空间是有限的,所以当存储数据时,就会遇到舍入的问题,我们举个例子 void main() { float a,b; a=123456.789e5; b=a+20; printf("%f\n",a); printf("%f\n...