數組名是常量不能為左值(如: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同號) | 

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

客服電話:




主站蜘蛛池模板: 大尺度激情床戏视频| 泰国xxx| 铁拳行动| 邓为个人介绍| 小孩打屁股针视频| 亲密 电影| 38在线电影| 安娜情欲| 齐力电影| 永远的牧歌简谱| 电影暗夜| 青山知可子全部电影| 摇曳山庄的幽灵| 每周食品安全排查治理报告表| 诡娃| 飞船奇遇记| 中山电视台| 妈妈的脊背简谱| 九州电影网| 巨乳欧美| 狗年电影| 视频 | vk| 黄梅戏龙女全剧播放| 布莱德·德尔森| 法医秦明之幸存者 2018 经超| 怀孕检查费用大概多少钱| 妈妈你真棒韩国电影免费观看完整版| 北京卫视今晚的电视剧是什么| 李洋简介| 黑龙江省地图高清全图| 南来北往电视剧剧情介绍| 雅马哈调音台说明书| 拔萝卜电影版| 梦断楼兰电影| 男插女曲| 一年级数学一图四式的题| 计程车女孩电影| 心理测量者剧场版| 东莞回忆录| 电影《三体》| overwatch|