奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

C語言

c語言中指針的使用方法

時間:2024-10-12 18:28:20 C語言 我要投稿
  • 相關推薦

c語言中指針的使用方法

  在c語言的學習中,我們遇到的最大問題莫過于指針的使用了。指針是C語言的一大特色,使用指針我們可能靈活的訪問內存。但這一大特性也同時給我們帶來了很大的問題,不當的使用指針就會給我們程序帶來大的災難。現在我就給大家講一講我使用指針的一些體會吧。

  一、定義指針的時候一定要初始化。

  變量定義的時候給變量初始化,這是保證不出錯的一個很好的習慣。尤其是在指針的使用上,如果我們沒有給指針初始化,就會出現野指針,該指針的指向并不是我們所希望的,一旦錯誤的釋放了這個指針,就會發生內存的訪問。那么如何初始化指針變量呢,一般有以下幾種方法:

  1、初始化空指針

  int* pInteger=NULL;

  2、用已有的變量初始化

  int length=5;

  int* pInteger=&length;

  3、用內存分配函數給指針分配空間

  int* pInteger=(int*)malloc(10*sizeof(int));//為指針分配大小為10個整數的內存空間。

  二、正確的申請和釋放內存

  指針使用之后,如果不釋放指針所使用的內存,就會造成內存的泄露,這樣就會有大量內存由于沒能釋放,別的程序不可以使用這部分內存,如果一個程序不停申請內存而不去釋放內存,很快就會造成系統的崩潰。那么如何正確的申請和釋放內存呢。

  1、指針初始化,上面已講

  2、正確的申請內存

  如何申請內存才算是正確的申請內存呢?首先要判斷指針是否為空,如果不為空,則釋放該指針所指向的內存塊,如果不釋放這塊內存,而直接就申請內存,就會造成內存的泄露。申請內存后,一定要判斷是否申請成功。

  如:int* pInteger=NULL;//指針定義處

  ...

  if(pInteger != NULL)

  {

  free(pInteger);

  pInteger=NULL;//指針釋放之后并不為空,要設置其為空

  }

  pInteger=(int*)malloc(10*sizeof(int));

  if(pInteger != NULL)

  {

  printf("內存申請沒有成功\n!");

  exit(0);

  }

  ...

  3、內存釋放

  程序使用完了指針,一定要記得釋放指針指向的內存。釋放后一定要記得設置指針為空指針。因為free函數在釋放指針后,只是單純的釋放了該指針指向的內存空間,而沒有將指針賦為空值。所以一定要記得在釋放指針后將指針賦為空值。

  如:

  int* pInteger=NULL;//指針定義處

  ...

  free(pInteger);//釋放指針

  pInteger=NULL; //指針賦為空值

  三、使用指針時一定要判斷指針是否為空

  在使用指針時一定要判斷指針是否為空,如果為空,則做相應的操作。如果不做判斷,則可能錯誤的使用空指針。

  如:char* dest=NULL;

  ...

  strcpy(dest,"string");//如果dest為空則出錯

  正確的使用方法為:

  if(dest == NULL)

  {

  dest=(char*)malloc(7*sizeof(char));//因為字符串以“\0”結束,

  //所以要申請7個字符的內存

  //判斷內存申請是否成功

  ...

  }

  strcpy(dest,"string");

  在指針的使用過程中,基本上要注意的問題就是這些,如果你嚴格的按照上面的方法使用指針,那么,你就可以避免常見的指針錯誤了。希望這篇文章可以給你帶來幫助,不過在指針的使用過程中,還會遇到很多的問題。希望和大家一起分享。

【c語言中指針的使用方法】相關文章:

C語言學習中的指針用法教程04-01

如何理解C語言指針03-27

c語言指針運用中堆和棧的區別04-27

C語言中指針的概念03-16

C語言中的指針是什么03-17

C語言指針知識點03-29

Swift與C語言指針結合使用實例03-29

C語言中的指針和內存泄漏03-19

c語言之指針基礎知識12-04

主站蜘蛛池模板: 筠连县| 乌兰浩特市| 辉县市| 白山市| 台中市| 南京市| 滨海县| 陈巴尔虎旗| 朝阳市| 兴义市| 莒南县| 义乌市| 金华市| 万载县| 泽库县| 镇坪县| 余庆县| 平遥县| 鞍山市| 松原市| 类乌齐县| 铜川市| 鹤峰县| 渑池县| 资溪县| 玉屏| 綦江县| 上饶市| 囊谦县| 潮州市| 赣榆县| 尼勒克县| 剑河县| 乐平市| 林甸县| 华容县| 扎兰屯市| 宁晋县| 凌云县| 东乌珠穆沁旗| 马尔康县|