數(shù)組名是常量不能為左值(如:a = 5;)

  不要認(rèn)為數(shù)組元素a[i]代表數(shù)組元素的值,它代表數(shù)組元素本身,可作為左值使用。

  為指針進(jìn)行初始化的字,江蘇會(huì)計(jì)證考試報(bào)名,2022年會(huì)計(jì)從業(yè)資格考試報(bào)名,2022年江蘇會(huì)計(jì)從業(yè)證報(bào)名,2022年江蘇會(huì)計(jì)從業(yè)考試報(bào)名,江蘇2022年會(huì)計(jì)從業(yè)資格考試成報(bào)名,2022年江蘇會(huì)計(jì)從業(yè)考試,會(huì)計(jì)電算化考試試題,2022年江蘇會(huì)計(jì)電算化,江蘇會(huì)計(jì)電算化試題,江蘇會(huì)計(jì)電算化考試,江蘇初級(jí)會(huì)計(jì)電算化,江蘇初級(jí)會(huì)計(jì)電算化考試">

射精一区欧美专区|国产精品66xx|亚洲视频一区导航|日韩欧美人妻精品中文|超碰婷婷xxnx|日韩无码综合激情|特级黄片一区二区|四虎日韩成人A√|久久精品内谢片|亚洲成a人无码电影

您現(xiàn)在的位置:首頁(yè) > IT認(rèn)證 > 軟件水平 >

軟考程序員輔導(dǎo):c語(yǔ)言數(shù)組注意問(wèn)題


2012年軟考程序員輔導(dǎo):c語(yǔ)言數(shù)組注意問(wèn)題

 int a[10];

  數(shù)組名是常量不能為左值(如:a = 5;)

  不要認(rèn)為數(shù)組元素a[i]代表數(shù)組元素的值,它代表數(shù)組元素本身,可作為左值使用。

  為指針進(jìn)行初始化的字符串是只讀的

 。ㄈ纾篶har *p = “hello”; strcpy(p, “world”);這樣寫是錯(cuò)的)

  為數(shù)組進(jìn)行初始化的字符串是可寫的

 。ㄈ纾篶har str[10] = “hello”;strcpy(str, “world”);這樣寫是對(duì)的)

  注意:

  一直以為a代表數(shù)組的首地址,可以像指針一樣進(jìn)行a++等操作,但是,數(shù)組名代表數(shù)組首地址,一定是個(gè)常量!

  所以不能對(duì)數(shù)組名進(jìn)行 a++ 或者是 a-- 的操作,因?yàn)槌A坎荒鼙恍薷摹?br />
  但如果定義指向數(shù)組的指針 *p=a;

  那么這個(gè)指向該數(shù)組的指針是可以進(jìn)行 p++ 或者是 p-- 操作的,指針可以通過(guò)這種方式來(lái)獲取元素。

  數(shù)組名 a 除了代表數(shù)組的首地址外,它還代表特定的類型,在此例中 a 代表了int[10] 這個(gè)類型。

  在編譯環(huán)境內(nèi)運(yùn)行 prinrf(“%d  %d)”,sizeof(a),sizeof(p)); 得到了40 4 。

  得到這個(gè)結(jié)果的原因就是數(shù)組名 a 代表了它所定義的數(shù)組類型int[10],此類型占了10個(gè)int型大小的內(nèi)存,因此是長(zhǎng)度是40。

  而指針存放的就是某個(gè)地址值,不論它指向的是什么類型的地址,都占有固定的4個(gè)字節(jié)大小。

  直接訪問(wèn) —— 用變量名訪問(wèn)。

  間接訪問(wèn) —— 用地址、指針訪問(wèn)。

  間接訪問(wèn):  *(首地址 + 偏移)   偏移=下標(biāo)值 * sizeof(數(shù)組元素類型)

  ?    通過(guò)數(shù)組下標(biāo)訪問(wèn)數(shù)組元素也是間接訪問(wèn)。

  a[ i ] <==> *(a + i* sizeof(數(shù)組元素類型))    (每次偏移一個(gè)數(shù)組元素類型大小的字節(jié)數(shù))

  查看動(dòng)態(tài)數(shù)組的大。

  (注意頭文件:#include

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

  printf(“%d  ”,_msize(p)) ;

  輸出結(jié)果是40。

  訪問(wèn)靜態(tài)數(shù)組元素最靈活的方法:

  int a[] = {0,1,2,3,4,5};

  int i;

  for( i = 0; i<(sizeof(a)/sizeof(a[0])); ++i);

  {

  ……

  ……

  }

  注意:sizeof(a)/sizeof(a[0])在編譯階段就已經(jīng)由編譯器以常量形式給出,不必?fù)?dān)心每次循環(huán)都需要計(jì)算。

相關(guān)文章

無(wú)相關(guān)信息
更新時(shí)間2022-03-13 11:10:58【至頂部↑】
聯(lián)系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號(hào)) | 

付款方式留言簿投訴中心網(wǎng)站糾錯(cuò)二維碼手機(jī)版

客服電話: