程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 靈活運用c語言實現高級功能

靈活運用c語言實現高級功能

編輯:C語言基礎知識

  C語言以其簡潔、靈活、表達能力強,產生的目標代碼質量高,可移植性好而著稱於世。巧妙、靈活地運用C可以進一步挖掘出其潛在的功能。
      1、字符數組和字符指針
      指針和數組是C最具特色的一部分。數組是占用預分配的連續空間,C語言中對連續空間的訪問可以有以下幾種方法:加下標構成數組是最直接的;常量字符串也可以類似訪問,例如,下面語句就可將字符串打印出來。
      for(i=0;i<15;i++)
      putchar(″constant string″[i]);
      函數printf()的格式串用字符數組代替,可以靈活地控制輸出格式。下面的函數就可以根據參數改變輸出格式。
      Pr—int(int form,int data)
      {
      char str[50];
      sprintf(star,″%%%dd″,form);
      printf(str,data);
      }
      2、C語言具有很強的內存格式編排功能,主要是通過sscanf()和sprintf()實現的。靈活運用這兩個函數可以收到意想不到的效果。例如,數和數字串的轉換是常需要的,利用這兩個函數可以簡單的實現。下面的函數func就實現數到數字串的轉換,類似地可以實現其逆功能。
      func(int d,char *str)
      {
      sprintf(str,″%d″,d);
      }
      3、動態多維數組
      C語言本身並沒有提供這類功能,而實踐中確實經常需要。我們可以用C來實現。下面程序段就動態地實現了二維數組。
      int,i,n,m,
      double **a,x,
      a=(double *)calloc(n,sizeof(double *));
      for (j=0;j<n;j++) a[j]=(double *)calloc(m,sizeof(double));
      上面程序段定義a為指向指針的指針,然後給a分配一塊內存,其格式為雙精度指針,最後用for循環語句給指針分配空間,這樣就相當於定義了a[n][m]。現在就可以用類似x=a[i][j]之類的語句訪間數組元素了。三維甚至更多維動態數組可以類似實現
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved