zoukankan      html  css  js  c++  java
  • C语言字符串以及相关指针的使用

    这是我写的strcpy函数的例程:

    char* strcpy1(char* strDest,char* strSrc)
    {
    	int i = 0;
    	if(checkNull(strSrc) == 0)
    		return NULL;
    	while(strSrc[i] != '\0')
    	{
    		strDest[i] = strSrc[i];
    		i++;
    	}
    	strDest[i] = '\0';
    	return strDest;
    
    }
    
    int checkNull(char* str)
    {
    	int len = strlen(str);
    	if(len == 0)
    		return 0;
    	else
    		return 1;
    }
    

      另外还可以这么写:

    char* strcpy1(char* strDest,char* strSrc)
    {
    	int i = 0;
    	if(checkNull(strSrc) == 0)
    		return NULL;
    	while(*strSrc != '\0')
    	{
    		*strDest = *strSrc;
    		strDest++;
                    strSrc++;
    	}
    	*strDest = '\0';
    	return strDest;
    
    }
    
    int checkNull(char* str)
    {
    	int len = strlen(str);
    	if(len == 0)
    		return 0;
    	else
    		return 1;
    }
    

      这个小程序并不难,但是我写的时候暴露了很多问题,仔细研究这些问题,可以提高自己对C指针的理解深度。

     1、首先是字符串的定义,字符串在C语言的机制中和字符数组是一致的,只是字符串末尾以'\0'结束

          因此定义一个字符串可以有两种形式。

          char *s = "Hello World";

          char s[20];

          但是注意 如果只是定义了char *s;这样是不对的,因为此时s指针并没有显式的被分配值,这样程序运行的时候很有可能因为指针地址不正确造成程序崩溃。

          而应该在定义了指针s之后,分配空间src = (char*)malloc(sizeof(char)*100);

    2、另外就是字符串的遍历方法,上面的两个例程明确的说明了遍历的方式。

  • 相关阅读:
    ajax
    前端学数据库之子查询
    读书笔记:《HTML5开发手册》Web表单
    阅读《编写可读代码的艺术》笔记
    windows环境下sublime的nodejs插件详细安装图解
    有关css3的一些问题
    前面的话
    gulp思考
    10种排序算法分析
    ajax异步请求
  • 原文地址:https://www.cnblogs.com/ITEagle/p/2149043.html
Copyright © 2011-2022 走看看