您的位置:首页 > 其它

学习新得_2006_05_13

2006-05-13 21:54 351 查看
#include <stdio.h>
#include <string.h>
#include <malloc.h>
int sub_1(int x,int y)
{
static int c=0;
return c=x-y;
}
int add(int x,int y)
{
return x+y;
}
template<class type,int>
type add_t(type x,int y)
{
type c=0;
return c= x*y;
}
//在堆内存中存储字符串
char* heap_str(char* str)
{

char* str_new = (char*)malloc(strlen(str)*sizeof(char));
for(int i = 0; i<strlen(str); i++)
{
*(str_new+i) = *(str+i);
}
*(str_new+i) = *(str+i);
printf("%d/n",strlen(str));
printf("%d/n",strlen(str_new));
return str_new;
}
void main(void)
{
char* const str_init = heap_str("Ni Hao!");
*(str_init) = 'g';
printf("%08x/n",&str_init);
printf("%c/n",*str_init);
printf("%08x/n",str_init);//显示str_init的值(字符串的地址)
printf("%s/n",str_init);//显示str_init所指向的字符串

//////////////////这样会出错,因为字符串被存在静态区,不允许修改此区的内容。为平台限制,与语言无关。
//char* const str_init2 = "Ni Hao!";
// *(str_init2) = 'g';
// printf("%s/n",str_init2);//显示str_init所指向的字符串
int a=5,b=6,c=0,d=0;
c = add(a,b);
printf("%d + %d = %d/n",a,b,c);
extern dbl_add();
d =dbl_add();
printf("%d/n",d);
//////template 的用法
printf("%g/n",add_t<float,6>(4.56,6));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: