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

  不要認為數組元素a[i]代表數組元素的值,它代表數組元素本身,可作為左值使用。

  為指針進行初始化的字,江蘇會計證考試報名,2022年會計從業資格考試報名,2022年江蘇會計從業證報名,2022年江蘇會計從業考試報名,江蘇2022年會計從業資格考試成報名,2022年江蘇會計從業考試,會計電算化考試試題,2022年江蘇會計電算化,江蘇會計電算化試題,江蘇會計電算化考試,江蘇初級會計電算化,江蘇初級會計電算化考試">

免费看欧美黑人毛片-免费看毛片网站-免费看毛片的网站-免费看久久-中文字幕日韩欧美-中文字幕日韩精品一区

您現在的位置:首頁 > IT認證 > 軟件水平 >

軟考程序員輔導:c語言數組注意問題


2012年軟考程序員輔導:c語言數組注意問題

 int a[10];

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

  不要認為數組元素a[i]代表數組元素的值,它代表數組元素本身,可作為左值使用。

  為指針進行初始化的字符串是只讀的

  (如:char *p = “hello”; strcpy(p, “world”);這樣寫是錯的)

  為數組進行初始化的字符串是可寫的

  (如:char str[10] = “hello”;strcpy(str, “world”);這樣寫是對的)

  注意:

  一直以為a代表數組的首地址,可以像指針一樣進行a++等操作,但是,數組名代表數組首地址,一定是個常量!

  所以不能對數組名進行 a++ 或者是 a-- 的操作,因為常量不能被修改。

  但如果定義指向數組的指針 *p=a;

  那么這個指向該數組的指針是可以進行 p++ 或者是 p-- 操作的,指針可以通過這種方式來獲取元素。

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

  在編譯環境內運行 prinrf(“%d  %d)”,sizeof(a),sizeof(p)); 得到了40 4 。

  得到這個結果的原因就是數組名 a 代表了它所定義的數組類型int[10],此類型占了10個int型大小的內存,因此是長度是40。

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

  直接訪問 —— 用變量名訪問。

  間接訪問 —— 用地址、指針訪問。

  間接訪問:  *(首地址 + 偏移)   偏移=下標值 * sizeof(數組元素類型)

  ?    通過數組下標訪問數組元素也是間接訪問。

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

  查看動態數組的大小:

  (注意頭文件:#include

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

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

  輸出結果是40。

  訪問靜態數組元素最靈活的方法:

  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])在編譯階段就已經由編譯器以常量形式給出,不必擔心每次循環都需要計算。

相關文章

無相關信息
更新時間2022-03-13 11:10:58【至頂部↑】
聯系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號) | 

付款方式留言簿投訴中心網站糾錯二維碼手機版

客服電話:




主站蜘蛛池模板: 孽扣| 意大利a级情欲片女人城| 九州电影网| 北京卫视电视节目单| 舌吻床戏视频| 女友电影| 冷血惊魂| 恶魔天使| after4| 如果云知道歌词| 艺术影院| 补锌之王的食物| 红灯区1996| 视频污污| 雪山飞狐 1991 孟飞| 在线观看三级视频| xmx| 双妻艳吏| 喜羊羊与灰太狼歌词| 附身美女| 我爱我爹全集高清版免费观看| 特殊的精油按摩1| 罗云熙的新剧《尸语者》哪里能看| 叶问3演员表| 卡士酸奶尽量少吃| starstruck| 河南省物业管理条例| 长靴靴虐视频vk| 庞勇| 浙江卫视电视台节目表| 韩国电影《真相迷途》演员表| 叶玉卿电影| 魔鬼黑狱1983年美国| 五年级语文下册| 视频999| 夜生活女王| 挠中国美女丝袜脚心| 夜色斗僵尸| 奶酪鼠的穷途梦2| 马会传真论坛13297соm查询官网| 俺去也电影网|