C语言数组下标 C语言数组的下标总是从0开始吗?

C\u8bed\u8a00\u6570\u7ec4\u7684\u4e0b\u6807

c\u8bed\u8a00\u4e2d\u7684\u4e0b\u6807\u662f\u5b9a\u4e49\u6570\u7ec4a[]\u548c\u6570\u7ec4b[n]\uff0c\u4e0b\u6807\u662f\u7528\u5728\u6570\u7ec4\u4e2d\u7684\uff1b
a[1]\u548cb[1]\u5c31\u662f\u4e0b\u6807\u76f8\u540c\u7684\u4e00\u4e2a\u5143\u7d20\uff0c\u6570\u7ec4a[1]\u4e2d\u7684\u6570\u6ee1\u8db3\u6761\u4ef6\u7684\u4e4b\u540e\u5c31\u505a\u79fb\u4f4d\u8ba1\u7b97\uff0c\u662f\u51cf\u5c0f\u5de6\u79fb\uff0c\u53f3\u79fb\u589e\u52a0\uff1b
\u4f8b\uff1a
inta[5]={1\uff0c2\uff0c3\uff0c4\uff0c5}\uff1b
printf(\u201c%d\uff0c%d\uff0c%d\uff0c%d\uff0c%d\u201d\uff0ca[0]\uff0ca[1]\uff0ca[2]\uff0ca[3]\uff0ca[4])\uff1b//\u4f1a\u8f93\u51fa1\uff0c2\uff0c3\uff0c4\uff0c5
a[0]=10\uff1b
printf(\u201c%d\u201d\uff0ca[0])\uff1b//\u8f93\u51fa10\uff1b

\u6269\u5c55\u8d44\u6599
\u57fa\u672c\u7684\u7b97\u6570\u8fd0\u7b97\u7b26
(1)\u3001+\u52a0\u6cd5\u8fd0\u7b97\u6216\u6b63\u503c\u8fd0\u7b97\u7b26
4+4\u3001+5
(2)\u3001-\u51cf\u6cd5\u8fd0\u7b97\u6216\u8d1f\u503c\u8fd0\u7b97\u7b26
6-4\u3001-10\u3001-29
(3)\u3001\u4e58\u6cd5\u8fd0\u7b97
\u6ce8\u610f\u7b26\u53f7\uff0c\u4e0d\u662fx\uff0c\u800c\u662f\uff1b
(4)\u3001/\u9664\u6cd5\u8fd0\u7b97
\u6ce8\u610f\u7b26\u53f7\uff0c\u4e0d\u662f\u00f7\uff0c\u4e5f\u4e0d\u662f\\uff0c\u800c\u662f/\uff1b
\u6574\u6570\u9664\u4e8e\u6574\u6570\uff0c\u8fd8\u662f\u6574\u6570\u30021/2\u7684\u503c\u662f0\uff0c\u8fd9\u4e2a\u5e76\u4e0d\u662f\u4e8c\u5206\u4e4b\u4e00\uff0c\u4e0d\u4f1a\u56db\u820d\u4e94\u5165\uff0c\u76f4\u63a5\u622a\u65ad\u53d6\u503c\uff1b
\uff085\uff09\u3001%\u53d6\u4f59\u8fd0\u7b97
\u53d6\u4f59\uff1a\u5373\u4e24\u4e2a\u6574\u6570\u76f8\u9664\u4e4b\u540e\u7684\u4f59\u6570\uff1b
\u6ce8\u610f\uff1a%\u4e24\u4fa7\u53ea\u80fd\u662f\u6574\u6570\uff0c\u6b63\u8d1f\u6027\u53d6\u51b3\u4e8e%\u5de6\u4fa7\u7684\u6570\u503c\uff1b

\u662f\u7684\uff0c\u5bf9\u6570\u7ec4a[MAX](MAX\u662f\u4e00\u4e2a\u7f16\u8bd1\u65f6\u53ef\u77e5\u7684\u503c)\u6765\u8bf4\uff0c\u5b83\u7684\u7b2c\u4e00\u4e2a\u548c\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u5206\u522b\u662fa[o]\u548caLMAX-1)\u3002\u5728\u5176\u5b83\u4e00\u4e9b\u8bed\u8a00\u4e2d\uff0c\u60c5\u51b5\u53ef\u80fd\u6709\u6240\u4e0d\u540c\uff0c\u4f8b\u5982\u5728BASIC\u8bed\u8a00\u4e2d\u6570\u7ec4a[MAX]\u7684\u5143\u7d20\u662f\u4ecea[1]\u5230a[MAX]\uff0c\u5728Pascal\u8bed\u8a00\u4e2d\u5219\u4e24\u79cd\u65b9\u5f0f\u90fd\u53ef\u884c\u3002
\u6ce8\u610f\uff1aa[MAX]\u662f\u4e00\u4e2a\u6709\u6548\u7684\u5730\u5740\uff0c\u4f46\u8be5\u5730\u5740\u4e2d\u7684\u503c\u5e76\u4e0d\u662f\u6570\u7ec4a\u7684\u4e00\u4e2a\u5143\u7d20\u3002
\u4e0a\u8ff0\u8fd9\u79cd\u5dee\u522b\u6709\u65f6\u4f1a\u5f15\u8d77\u6df7\u4e71\uff0c\u56e0\u4e3a\u5f53\u4f60\u8bf4\u201c\u6570\u7ec4\u4e2d\u7684\u7b2c\u4e00\u4e2a\u5143\u7d20\u201d\u65f6\uff0c\u5b9e\u9645\u4e0a\u662f\u6307\u201c\u6570\u7ec4\u4e2d\u4e0b\u6807\u4e3a\u3002\u7684\u5143\u7d20\u201d\uff0c\u8fd9\u91cc\u7684\u201c\u7b2c\u4e00\u4e2a\u201d\u7684\u610f\u601d\u548c\u201c\u6700\u540e\u4e00\u4e2a\u201d\u76f8\u53cd\u3002
\u56e0\u4e3a\u6307\u9488\u548c\u6570\u7ec4\u51e0\u4e4e\u662f\u76f8\u540c\u7684\uff0c\u56e0\u6b64\u4f60\u53ef\u4ee5\u5b9a\u4e49\u4e00\u4e2a\u6307\u9488\uff0c\u4f7f\u5b83\u53ef\u4ee5\u8c61\u4e00\u4e2a\u6570\u7ec4\u4e00\u6837\u5f15\u7528\u53e6\u4e00\u4e2a\u6570\u7ec4\u4e2d\u7684\u6240\u6709\u5143\u7d20\uff0c\u4f46\u5f15\u7528\u65f6\u524d\u8005\u7684\u4e0b\u6807\u662f\u4ece1\u5f00\u59cb\u7684\uff1a
/*don't do this!!*/
int a0[MAX]\uff0c
int *a1=a0-1; /*&a0[-1)*/
\u73b0\u5728\uff0ca0[0]\u548ca1[1)\u662f\u76f8\u540c\u7684\uff0c\u800ca0[MAX-1]\u548ca1[MAX]\u662f\u76f8\u540c\u7684\u3002\u7136\u800c\uff0c\u5728\u5b9e\u9645\u7f16\u7a0b\u4e2d\u4e0d\u5e94\u8be5\u8fd9\u6837\u505a\uff0c\u5176\u539f\u56e0\u6709\u4ee5\u4e0b\u4e24\u70b9\uff1a
\u7b2c\u4e8c\uff0c\u8fd9\u79cd\u65b9\u5f0f\u80cc\u79bb\u4e86C\u8bed\u8a00\u7684\u5e38\u89c4\u98ce\u683c\u3002\u4eba\u4eec\u5df2\u7ecf\u4e60\u60ef\u4e86C\u8bed\u8a00\u4e2d\u6570\u7ec4\u4e0b\u6807\u7684\u5de5\u4f5c\u65b9\u5f0f\uff0c\u5982\u679c\u4f60\u7684\u7a0b\u5e8f\u4f7f\u7528\u4e86\u53e6\u5916\u4e00\u79cd\u65b9\u5f0f\uff0c\u522b\u4eba\u5c31\u5f88\u96be\u8bfb\u61c2\u4f60\u7684\u7a0b\u5e8f\uff0c\u800c\u7ecf\u8fc7\u4e00\u6bb5\u65f6\u95f4\u4ee5\u540e\uff0c\u8fde\u4f60\u81ea\u5df1\u90fd\u53ef\u80fd\u5f88\u96be\u8bfb\u61c2\u8fd9\u4e2a\u7a0b\u5e8f\u4e86\u3002

下标可以是变量 也可以是常量。直接说a[0],a[1],a[2],a[3]这样的下标就是常量。
对于访问来说, 不在意是变量还是常量, 系统只是需要一个值, 作为偏移量
不管是变量还是常量, 访问的时候 肯定是一个特定值, 而系统要的 无非是这样一个偏移量而已。

c语言中的下标是定义数组a[]和数组b[n],下标是用在数组中的;

a[1]和b[1]就是下标相同的一个元素,数组a[1]中的数满足条件的之后就做移位计算,是减小左移,右移增加;

例:

inta[5]={1,2,3,4,5};

printf(“%d,%d,%d,%d,%d”,a[0],a[1],a[2],a[3],a[4]);//会输出1,2,3,4,5

a[0]=10;

printf(“%d”,a[0]);//输出10;

扩展资料

基本的算数运算符

(1)、+加法运算或正值运算符

4+4、+5

(2)、-减法运算或负值运算符

6-4、-10、-29

(3)、乘法运算

注意符号,不是x,而是;

(4)、/除法运算

注意符号,不是÷,也不是\,而是/;

整数除于整数,还是整数。1/2的值是0,这个并不是二分之一,不会四舍五入,直接截断取值;

(5)、%取余运算

取余:即两个整数相除之后的余数;

注意:%两侧只能是整数,正负性取决于%左侧的数值;



#include
<malloc.h>
定义一个数组大小int
size.
scanf(&size)
定义动态字符数组p.
char
*p=(char
*)malloc(size*sizeof(char));
然后可以用p[i]访问数组元素。

  • C璇█鏁扮粍鐨涓嬫爣
    绛旓細c璇█涓殑涓嬫爣鏄畾涔鏁扮粍a[]鍜屾暟缁刡[n]锛屼笅鏍囨槸鐢ㄥ湪鏁扮粍涓殑锛沘[1]鍜宐[1]灏辨槸涓嬫爣鐩稿悓鐨勪竴涓厓绱狅紝鏁扮粍a[1]涓殑鏁版弧瓒虫潯浠剁殑涔嬪悗灏卞仛绉讳綅璁$畻锛屾槸鍑忓皬宸︾Щ锛屽彸绉诲鍔狅紱渚嬶細inta[5]={1锛2锛3锛4锛5}锛沺rintf(鈥%d锛%d锛%d锛%d锛%d鈥濓紝a[0]锛宎[1]锛宎[2]锛宎[3]锛宎[4])锛//...
  • C璇█鏁扮粍涓嬫爣
    绛旓細涓嬫爣鍙互鏄彉閲 涔熷彲浠ユ槸甯搁噺銆傜洿鎺ヨa[0]锛宎[1]锛宎[2]锛宎[3]杩欐牱鐨勪笅鏍囧氨鏄父閲忋傚浜庤闂潵璇达紝 涓嶅湪鎰忔槸鍙橀噺杩樻槸甯搁噺锛 绯荤粺鍙槸闇瑕佷竴涓硷紝 浣滀负鍋忕Щ閲 涓嶇鏄彉閲忚繕鏄父閲忥紝 璁块棶鐨勬椂鍊 鑲畾鏄竴涓壒瀹氬硷紝 鑰岀郴缁熻鐨 鏃犻潪鏄繖鏍蜂竴涓亸绉婚噺鑰屽凡銆
  • c璇█涓璠 ]閲岄潰鏄粈涔
    绛旓細[]锛氫竴鑸敤浜C璇█鐨鏁扮粍锛岄噷闈㈡槸鏁扮粍鐨涓嬫爣銆傛瘮濡 int a[6];灏辨槸瀹氫箟涓涓竴缁存暟缁,杩欎釜鏁扮粍鍚嶅彨鍋 a ,鍏辨湁6涓厓绱 鍚岀悊 int b[6][6]灏辨槸瀹氫箟涓涓簩缁存暟缁,杩欎釜鏁扮粍鍏辨湁6*6涓厓绱 瀹氫箟涔嬪悗,灏卞彲浠ュ紩鐢ㄨ鏁扮粍鐨勫厓绱,浣嗕笉鑳界洿鎺ョ敤 a[6] ,a姝ゆ椂鍖呭惈鐨勫厓绱犲彧鏈塧[0],a[1],a[2],a[3]...
  • c璇█涓鏁扮粍鐨涓嬫爣鎬庝箞鐞嗚В?
    绛旓細鏁扮粍鍏冪礌鍙互閫氳繃鏁扮粍鍚嶇О鍔犵储寮曡繘琛岃闂傚厓绱犵殑绱㈠紩鏄斁鍦ㄦ柟鎷彿鍐咃紝璺熷湪鏁扮粍鍚嶇О鐨勫悗杈广傛暟缁勪腑鐨勬瘡涓厓绱犳槸浣跨敤褰㈠紡涓 a[ i ] 鐨勫厓绱犲悕绉版潵鏍囪瘑鐨勶紝鍏朵腑 a 鏄暟缁勫悕绉帮紝i 鏄敮涓鏍囪瘑 a 涓瘡涓厓绱犵殑涓嬫爣銆傛瘮濡俛[10]鐨勪笅鏍囨渶灏忎负0锛屾渶澶т负9锛屼笖涓瀹氭槸鏁存暟锛岃秴鍑烘鑼冨洿鐨勯兘涓嶆槸姝g‘鐨勩
  • c璇█涓鏁扮粍涓嬫爣鍙互鏄粈涔堢被鍨?
    绛旓細1銆C89/C90鏍囧噯锛氬畾涔鏁扮粍鏃涓嬫爣鍙厑璁镐娇鐢ㄦ暣鍨嬨佸瓧绗﹀瀷甯搁噺锛屽紩鐢ㄦ暟缁勬椂涓嬫爣鍙互浣跨敤鏁村瀷銆佸瓧绗﹀瀷鐨勫父閲忔垨鑰呭彉閲 2銆丆99鏍囧噯锛氬畾涔夋暟缁勬椂涓嬫爣鍙互浣跨敤鏁村瀷銆佸瓧绗﹀瀷鐨勫父閲忔垨鍙橀噺锛屼絾鍙橀噺蹇呴』宸茬粡璧嬪硷紱寮曠敤鏁扮粍鏃朵笅鏍囧彲浠ヤ娇鐢ㄦ暣鍨嬨佸瓧绗﹀瀷鐨勫父閲忔垨鑰呭彉閲忋備互涓婃墍璇寸殑甯搁噺鍙婂彉閲忓潎鍖呭惈琛ㄨ揪寮忋
  • c璇█涓,鏁扮粍涓嬫爣鏄浣曟帓搴忕殑?
    绛旓細濡傛灉浠鏁扮粍涓嬫爣鏉ョ湅鐨勮瘽灏辨槸椤哄簭鐨 杩欓噷鎴戜滑鍙互灏嗘寚閽堝弽杞繃鏉 include <stdio.h> define PUSH(i) (*p=i,--p)define POP(i) (++p,i=*p)int main(int argc,char **argv){ int a[11];int i,r;int *p=a+10;for(i=0;i < 10;++i){ scanf("%d",&r);PUSH(r);} for(i=0;i...
  • c璇█涓,鏁扮粍鍏冪礌鐨涓嬫爣涓嬮檺涓
    绛旓細c璇█涓,鏁扮粍鍏冪礌鐨涓嬫爣涓嬮檺涓0銆 鏁扮粍涓殑鍚勫厓绱犵殑瀛樺偍鏄湁鍏堝悗椤哄簭鐨,瀹冧滑鍦ㄥ唴瀛樹腑鎸夌収杩欎釜鍏堝悗椤哄簭杩炵画瀛樻斁鍦ㄤ竴璧枫傛暟缁勫厓绱犵敤鏁翠釜鏁扮粍鐨勫悕瀛楀拰瀹冭嚜宸卞湪鏁扮粍涓殑椤哄簭浣嶇疆鏉ヨ〃绀恒備緥濡,a[0]琛ㄧず鍚嶅瓧涓篴鐨勬暟缁勪腑鐨勭涓涓厓绱,a[1]浠h〃鏁扮粍a鐨勭浜屼釜鍏冪礌,浠ユ绫绘帹銆 瀵逛簬VB鐨勬暟缁,琛ㄧず鏁扮粍鍏冪礌鏃跺簲娉ㄦ剰:涓嬫爣...
  • 鍦C璇█涓,鐢涓嬫爣濡備綍璁块棶鏁扮粍鍏冪礌?
    绛旓細鍦ㄤ娇鐢鏁扮粍鐨勫満鍚堜腑锛屾垜浠父瑙佺殑涓绉嶈闂柟娉曟槸浣跨敤涓嬫爣璁块棶鏁扮粍鍏冪礌锛屽锛歛rray[2] = 1,姝よ鍙ユ槸灏嗚鏁扮粍鐨勭涓変釜鍏冪礌璧嬪间负1.[ ]绗﹀彿涓殑鏁板瓧鍙互璁や负鏄湪鏁扮粍鍩哄湴鍧涓婄殑鍋忕Щ閲忥紝鍙互閫氳繃鏀瑰彉杩欎釜鍋忕Щ閲忔潵璁块棶鏁翠釜鏁扮粍銆2.浠ユ寚閽堣闂殑鏂瑰紡璁块棶鏁扮粍 闄や簡浣跨敤鍋忕Щ閲忕殑鏂规硶锛屾垜浠繕鍙互浣跨敤鎸囬拡鐨勬柟娉...
  • 鍏充簬C璇█缂栫▼ 鐨涓嬫爣鏄寚浠涔?
    绛旓細鍦C璇█涓紝涓嬫爣鐢ㄤ簬鏁扮粍鐨勮闂(璇绘垨鍐)銆傚綋瀹氫箟涓涓暟缁勬椂锛屽舰寮忎负 TYPE array_name[NUM];鍗冲畾涔変竴涓厓绱犵被鍨嬩负TYPE,鍏辫NUM涓厓绱犵殑鏁扮粍锛屽悕涓篴rray_name銆傚浜庢爣鍑咰璇█(ANSI C), 鏁扮粍闀垮害NUM蹇呴』涓哄父閲忥紝浣嗘槸鐩墠澶у鏁扮紪璇戝櫒鍧囨墿灞曞埌鍙互鏀寔鍙橀噺銆傚綋璁块棶鏁扮粍鍏冪礌鏃讹紝灏遍渶瑕佷娇鐢ㄤ笅鏍囷紝鏍煎紡涓 a...
  • c璇█涓鏁扮粍涓嬫爣鐨勪笅闄愭槸
    绛旓細鍥犱负姣忎釜鍏冪礌閮芥槸涓涓瓨鏀惧瓧绗︿覆鐨勪竴缁勫浐瀹鏁扮粍锛屽鑷村叾鍏冪礌鐨涓嬫爣涓嬮檺閮芥槸0銆c璇█浣跨敤姝ラ鏄細1銆佸弻鍑绘墦寮c璇█缂栬瘧鍣紝杩涘叆鐧诲綍閫夋嫨鐣岄潰锛岄夋嫨鍒涘缓涓涓柊椤圭洰銆2銆佺偣鍑诲乏渚р渕ain.cpp鈥濅細鍑虹幇缂栫▼涔﹀啓鐣岄潰锛屽皢宸叉湁鐨勫垹闄ゃ3銆佸湪缂栫▼杩囩▼涓娇鐢ㄦ湁鍏C璇█鐨勫ごinclude鏂囦欢锛屽啀娴嬭瘯鏄惁姝g‘鍗冲彲銆
  • 扩展阅读:数组名加下标 ... c语言输入任意二维数组 ... ∑上下标含义 ... c语言数组最大可以开多大 ... c语言输出格式大全 ... c++如何输出数组 ... 在c语言中引用数组元素时 ... 二维数组a34怎么排列 ... c语言定义一维整形数组 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网