字符串常量举例

如上为库函数 strcat 的仿写 功能为连接两个字符串

char *strat(char *dst,const char *src)
{
	char *cp = (char*)calloc(12,sizeof(char));//申请一块够大的内存 足以存放两个字符串
	char *cq = cp;
	strcpy(cp,dst);//把目的字符串拷到申请的内存中
	while(*cq)
        cq++;
	while(*src)  //完成连接工作
	{
		*cq = *src;
		src++;
		cq++;
	}
	return cp;

	//问题是:上边刚申请的空间 现在需要释放吗?还是说在最后主函数中释放 肯定是要释放         //的!
}

int main()
{
	char *P = NULL;
	char s[]="abcd";
	char t[]="efgh";
	P = strat(s,t);
	printf("%s",P);
	free(P);//?????????????????????????????????
	return 0;
}
时间: 2024-12-30 16:27:25

字符串常量举例的相关文章

Java中的字符串常量池

最近做到一个题目: 问题:String str = new String("abc"),"abc"在内存中是怎么分配的?    答案是:堆,字符串常量区. 题目考查的为Java中的字符串常量池和JVM运行时数据区的相关概念."abc"为字面量对象,其存储在堆内存中.而字符串常量池则存储的是字符串对象的一个引用. Java中的字符串常量池 Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid&qu

转载:Java中的字符串常量池详细介绍

引用自:http://blog.csdn.net/langhong8/article/details/50938041 这篇文章主要介绍了Java中的字符串常量池详细介绍,JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段内存被成为字符串常量池或者字符串字面量池,需要的朋友可以参考下 Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid";,另一种就是使用new这种标准的构造对象的方法,如String str = new Stri

字符串常量初始化指针

今天写个小文说一说字符串地址和字符串常量. 在C/C++中,一个字符串常量表示的是该字符串第一个元素的地址,就跟char指针名,char数组名表示的是字符串第一个元素的地址一样. 想要打印一个地址,用一个简单的 cout << 地址; 语句就可以搞定: 但是下面这两条语句将打印整个字符串 char a[20] = "1234"; cout << a << endl; char *p = a; cout << p << endl

string字符串常量池在内存中的位置

这里仅仅是举个简单的样例说明字符串常量池在内存中的位置. 闲言少叙,直接上代码. Java代码   <span style="font-size: large;">import java.util.ArrayList; public class Test { public static void main(String[] args) { String str = "abc"; char[] array = {'a', 'b', 'c'}; String

java字符常量与字符串常量的区别

形式上:字符常量是单引号引起的一个字符例:‘a’字符串常量是双引号引起的若干个字符"helloworld"含义上:字符常量相当于一个整形值(ASC||值),可以参加表达式运算,直接拿变量使用字符串常量代表一个地址值(该字符在内存中存放的位置)占内存大小:字符常量只占一个字节字符串常量占若干个字节字符型常量使用char型变量来存储字符串用char型的数组来存储 类型字符类型为char,字符串类型为string两者都是常量,区别于使用方法的不同

Java中字符串常量池的陷阱

public class TestCase { static String ab = "ab"; static String getA() { return "a"; } static String getAB() { return "ab"; } public static void main(String[] args) { // 1 String _ab = new String("ab"); System.out.pr

C++常量(C++数值常量、字符串常量、符号常量)

http://see.xidian.edu.cn/cpp/biancheng/view/104.html 字符串常量 用双撇号括起来的部分就是字符串常量,如"abc","Hello!","a+b","Li ping"都是字符串常量.字符串常量"abc"在内存中占4个字节(而不是3个字节),见图2.5. 图 2.5 编译系统会在字符串最后自动加一个'\0'作为字符串结束标志.但'\0'并不是字符串的一部分,它

Python学习总结4:字符串常量与操作汇总

参考博客:http://www.cnblogs.com/Camilo/archive/2013/09/21/3332267.html http://www.cnblogs.com/SunWentao/archive/2008/06/19/1225690.html 1. 字符串常量 string.digits:包含0-9的字符串    string.letters:包含所有大小写字母的字符串     string.lowercase:所有小写字母    string.printable:包含所有可

字符串常量池、堆、栈

String a="a"+"b"+"c" 创建了几个对象 这个问题涉及到了字符串常量池和字符串拼接 String a="a"+"b"+"c" 通过编译器优化后,得到的效果是 String a="abc" Java中字符串对象创建有两种形式,一种为字面量形式,如String str = "droid"; 另一种就是使用new这种标准的构造对象的方法,