亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦>學(xué)習(xí)英語(yǔ)>專業(yè)英語(yǔ)>計(jì)算機(jī)英語(yǔ)>

      c中char的用法

      時(shí)間: 長(zhǎng)思709 分享

        c中char的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中char的用法的用法,希望對(duì)你們有用。

        c中char的用法的用法如下:

        本文實(shí)例分析了C語(yǔ)言中char* 和 char []的區(qū)別。分享給大家供大家參考之用。具體分析如下:

        一般來說,很多人會(huì)覺得這兩個(gè)定義效果一樣,其實(shí)差別很大。以下是個(gè)人的一些看法,有不正確的地方望指正。

        本質(zhì)上來說,char *s定義了一個(gè)char型的指針,它只知道所指向的內(nèi)存單元,并不知道這個(gè)內(nèi)存單元有多大,所以:

        當(dāng)char *s = "hello";后,不能使用s[0]='a';語(yǔ)句進(jìn)行賦值。這是將提示內(nèi)存不能為"written"。

        當(dāng)用char s[]="hello";后,完全可以使用s[0]='a';進(jìn)行賦值,這是常規(guī)的數(shù)組操作。

        若定義:

        ?

        1

        2

        char s[] = "hello";

        char *p = s;

        也可以使用p[0] = 'a';因?yàn)檫@是p ==s,都是指向數(shù)組的指針。

        下面看另外一種定義:

        ?

        1

        char *s = (char *)malloc(n(www.jb51.net));//其中n為要開辟空間的大小

        這句話其實(shí)相當(dāng)于:

        ?

        1

        char s[n];

        定義的也是一個(gè)指向數(shù)組的指針,便可進(jìn)行數(shù)組的下標(biāo)操作

        例子

        ?

        1

        2

        3

        4

        5

        6

        7

        8

        9

        #include <stdio.h>

        int main(int argc, char* argv[]) {

        char* buf1 = "this is a test";

        char buf2[] = "this is a test";

        printf("size of buf1: %d\n", sizeof(buf1));

        printf("size of buf2: %d\n", sizeof(buf2));

        return 0;

        }

        結(jié)果是:

        $ > ./main

        size of buf1: 4

        size of buf2: 15

      c中char的用法

      c中char的用法的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中char的用法的用法,希望對(duì)你們有用。 c中char的用法的用法如下: 本文實(shí)例分析了C語(yǔ)言中char* 和 char []的區(qū)別。分享給大家供大家參考之用。具體分析如下: 一般來說,很多
      推薦度:
      點(diǎn)擊下載文檔文檔為doc格式
      537077