zoukankan      html  css  js  c++  java
  • 总结了一些指针易出错的常见问题(三)

    指针与字符串

      NULL和NUL区别:前者用来表示特殊的指针((void*)0),而NUL是一个char(),不可混用。

      字符常量:单引号;字符串:双引号;

      字符串的声明方式:字面量、字符数组、指针。

        字符串字面量池:

          

      字符串初始化 

        初始化char数组:   char header[]="Media Player";

        

        strcpy函数初始化数组

           char header[13];

          strcpy(header, "Meadia Player");

      2.初始化char指针

        char *header;初始化这个字符串的常见方法是使用malloc和strcpy函数分配内存并将字面量复制到字符串中。

          char *header=(char*) malloc(strlen("Media Player")+1);

             strcpy(header, "Meadia Player");

     

      区别sizeof与strlen:

      标准输入初始化字符串

      标准字符串操作

         

          

    #include<stdio.h>
    #include<stdlib.h>
    #include"string.h"
    int main()
    {
         char* error="ERROR:";
         char* errorMessage="NOT Enough memory";
         char* buffer=(char*)malloc(strlen(error)+strlen(errorMessage)+1);
         strcpy(buffer,error);
         strcat(buffer, errorMessage);
        printf("%s",error);
        printf("%s
    ",errorMessage);
    
     } 

    传递字符串

      

    #include<stdio.h>
    #include<stdlib.h>
    #include"string.h"
    
    size_t stringLength(char* string)
    {
        size_t length = 0;
        while(*(string++))
        {
            length++;
        }
        return length;
     } 
    int main()
    {
         char* error="ERROR: ";
         char* errorMessage="NOT Enough memory";
         char* buffer=(char*)malloc(strlen(error)+strlen(errorMessage)+1);
         strcpy(buffer,error);
         strcat(buffer, errorMessage);
        printf("%s
    ",buffer);
        printf("%s
    ",error);
        printf("%s
    ",errorMessage);
        printf("%d
    ",buffer);
        printf("%d
    ",stringLength(buffer));
     } 

    传递字符常量的指针

    给应用程序传递参数

    返回字符串

      函数返回字符串时,它返回的实际是字符串的地址。重点是如何返回合法的地址,可以返回以下三种对象之一的引用:字符量/动态分配的内存/本地字符串变量。

    函数指针与字符串

  • 相关阅读:
    通用二进制格式安装、编译安装过程(以mysql为例)
    linux:网络
    深圳:软通-运维
    深圳:软通-python
    linux:用户管理
    linux:vim
    深圳:卡莱特-售前/售后服务
    linux:基本指令
    linux:安装
    电脑:磁盘扩容
  • 原文地址:https://www.cnblogs.com/iloverain/p/5608302.html
Copyright © 2011-2022 走看看