程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 總結了一些指針易出錯的常見問題(三),指針常見問題

總結了一些指針易出錯的常見問題(三),指針常見問題

編輯:關於C語言

總結了一些指針易出錯的常見問題(三),指針常見問題


指針與字符串

  NULL和NUL區別:前者用來表示特殊的指針((void*)0),而NUL是一個char(\0),不可混用。

  字符常量:單引號;字符串:雙引號;

  字符串的聲明方式:字面量、字符數組、指針。

    字符串字面量池:

      

  字符串初始化 

    初始化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\n",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\n",buffer);
    printf("%s\n",error);
    printf("%s\n",errorMessage);
    printf("%d\n",buffer);
    printf("%d\n",stringLength(buffer));
 } 

傳遞字符常量的指針

給應用程序傳遞參數

返回字符串

  函數返回字符串時,它返回的實際是字符串的地址。重點是如何返回合法的地址,可以返回以下三種對象之一的引用:字符量/動態分配的內存/本地字符串變量。

函數指針與字符串

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved