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));
     } 

    传递字符常量的指针

    给应用程序传递参数

    返回字符串

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

    函数指针与字符串

  • 相关阅读:
    《Linux内核设计与实现》读书笔记(二)- 内核开发的准备
    《Linux内核设计与实现》读书笔记(一)-内核简介
    Redis常用命令
    redis——学习之路五(简单的C#使用redis)
    Redis——学习之路四(初识主从配置)
    Redis——学习之路三(初识redis config配置)
    Redis——学习之路二(初识redis服务器命令)
    Redis——学习之路一(初识redis)
    SQL Server 查询分析器提供的所有快捷方式(快捷键)
    降维中的特征选择(转)
  • 原文地址:https://www.cnblogs.com/iloverain/p/5608302.html
Copyright © 2011-2022 走看看