C语言数组定义时可以不开辟长度吗? C语言中定义数组时可以不定义长度吗,这样:uint8 arr...

c\u8bed\u8a00\u4e2d\u5b9a\u4e49\u4e00\u4e2a\u6570\u7ec4\u53ef\u4ee5\u4e0d\u5199\u6570\u7ec4\u7684\u957f\u5ea6\u5417\uff1f

\u4e0d\u53ef\u4ee5\uff0c\u5982\u679c\u4e0d\u80fd\u786e\u5b9a\u957f\u5ea6\uff0c\u8bf7\u7528STL\u5e93\u91cc\u7684LIST,MAP,SET\u7b49\u6570\u636e\u7c7b
\u6216\u8005\u5f00\u7684\u6570\u7ec4\u5f00\u7684\u5927\u4e00\u4e9b\uff0c\u4fdd\u8bc1\u4f60\u4e0d\u4f1a\u8d8a\u754c\uff0c\u591a\u4f59\u7684\u90e8\u5206\u4e0d\u9002\u7528\u5c31\u597d

\u5728\u5b9a\u4e49\u7684\u6570\u7ec4\u7684\u65f6\u5019\uff0c\u53ef\u4ee5\u901a\u8fc7\u53d8\u91cf\u5b9a\u4e49\u957f\u5ea6\u5982\uff1a
scanf("%d", arrayLen);
int[] data = new int[arrayLen];

C\u8bed\u8a00\u4e2d\u53ef\u4ee5\u5b9a\u4e49\u4e2a\u6570\u4e0d\u786e\u5b9a\u7684\u52a8\u6001\u6570\u7ec4\uff0c\u4f46\u4e0d\u662f\u7528uint8 array[];\u8fd9\u6837\u6765\u5b9a\u4e49\u7684\uff0c\u8fd9\u6837\u4f1a\u62a5\u9519\u3002\u5b9a\u4e49\u4e2a\u6570\u4e0d\u786e\u5b9a\u7684\u52a8\u6001\u6570\u7ec4\u5fc5\u987b\u5148\u58f0\u660e\u4e00\u4e2a\u6307\u9488\uff0c\u7136\u540e\u7528malloc\u4e3a\u8fd9\u4e2a\u6307\u9488\u5206\u914d\u4e00\u6bb5\u8fde\u7eed\u7684\u7a7a\u95f4\uff0c\u7136\u540e\u9000\u51fa\u7a0b\u5e8f\u7684\u65f6\u5019\u8981\u8bb0\u5f97\u4f7f\u7528free\u91ca\u653e\u8fd9\u4e9b\u53d8\u91cf\u7a7a\u95f4\uff0c\u5426\u5219\u4f1a\u9020\u6210\u5185\u5b58\u6cc4\u9732\u3002
\u6bd4\u5982\u4f60\u8981\u5b9a\u4e49\u4e00\u4e2a\u5b57\u7b26\u578b\u7684\u52a8\u6001\u6570\u7ec4\uff0c\u53ef\u4ee5\u5148\u58f0\u660e\u4e00\u4e2a\u5b57\u7b26\u578b\u6307\u9488\uff1a
char *CharNew;
\u7136\u540e\u5728\u9700\u8981\u5b9a\u4e49\u6570\u7ec4\u7684\u65f6\u5019\uff0c\u7528\u4e0b\u9762\u8bed\u53e5\u5f00\u8f9f\u4e00\u5b9a\u91cf\u7684\u8fde\u7eed\u7a7a\u95f4\uff1a
CharNew=(char*)malloc(10*sizeof(char));
\u8fd9\u6837\u4f60\u5c31\u53ef\u4ee5\u50cf\u4e00\u822c\u6570\u7ec4\u4e00\u6837\uff0c\u7528CharNew[1]\u6765\u8bbf\u95ee\u6570\u7ec4\u4e2d\u7684\u5143\u7d20\uff1b
\u5f53\u9000\u51fa\u7a0b\u5e8f\u65f6\uff0c\u4f60\u8981\u4f7f\u7528\uff1a
free(CharNew);\u6765\u91ca\u653e\u6570\u636e\u7a7a\u95f4\u3002

没有在方括号中指定数组长度时,必须有初值表,否则将导致语法错误,如:
int a[] = {1, 2, 3};
则a的长度为3。

  • c璇█涓瀹氫箟涓涓鏁扮粍鍙互涓鍐欐暟缁勭殑闀垮害鍚?
    绛旓細涓嶅彲浠锛屽鏋滀笉鑳界‘瀹氶暱搴︼紝璇风敤STL搴撻噷鐨凩IST,MAP,SET绛夋暟鎹被 鎴栬呭紑鐨勬暟缁勫紑鐨勫ぇ涓浜涳紝淇濊瘉浣犱笉浼氳秺鐣岋紝澶氫綑鐨勯儴鍒嗕笉閫傜敤灏卞ソ 鍦ㄥ畾涔夌殑鏁扮粍鐨勬椂鍊欙紝鍙互閫氳繃鍙橀噺瀹氫箟闀垮害濡傦細scanf("%d", arrayLen);int[] data = new int[arrayLen];
  • C璇█鏁扮粍瀹氫箟鏃跺彲浠ヤ笉寮杈熼暱搴鍚?
    绛旓細娌℃湁鍦ㄦ柟鎷彿涓寚瀹鏁扮粍闀垮害鏃锛屽繀椤绘湁鍒濆艰〃锛屽惁鍒欏皢瀵艰嚧璇硶閿欒锛屽锛歩nt a[] = {1, 2, 3};鍒檃鐨勯暱搴︿负3銆
  • C璇█瀹氫箟鏁扮粍涓瀹氳鎸囧畾澶у皬鍚?
    绛旓細鏄殑锛c涓鏁扮粍瀹氫箟鏃瑕佹寚瀹氬ぇ灏忋傚綋鐒讹紝涓囦簨涔熶笉鏄粷瀵圭殑銆備緥濡傦細1.浣滀负褰㈠弬鐨勬椂鍊欙紝鍙互涓鎸囧畾锛屽洜涓哄湪鍑芥暟璋冪敤鐨勬椂鍊欙紝鏁扮粍浼氳浆涓烘寚閽堢殑銆2.褰撲负瀛楃涓鏁扮粍鏃锛宑har ST[]="hello word"杩欏効瀹氫箟浜嗕竴涓猄T瀛楃鏁板硷紝涓嶉渶瑕佷綘鑷繁鍘绘寚瀹氬ぇ灏忥紝绯荤粺浼氳嚜鍔ㄧ敓鎴闀垮害涓11....
  • C璇█涓瀹氫箟鏁扮粍鏃跺彲浠ヤ笉瀹氫箟闀垮害鍚,杩欐牱:uint8 array[]銆傜湅鍒颁竴涓...
    绛旓細C璇█涓鍙互瀹氫箟涓暟涓嶇‘瀹氱殑鍔ㄦ鏁扮粍锛屼絾涓嶆槸鐢╱int8 array[];杩欐牱鏉ュ畾涔夌殑锛岃繖鏍蜂細鎶ラ敊銆傚畾涔変釜鏁颁笉纭畾鐨勫姩鎬佹暟缁勫繀椤诲厛澹版槑涓涓寚閽堬紝鐒跺悗鐢╩alloc涓鸿繖涓寚閽堝垎閰嶄竴娈佃繛缁殑绌洪棿锛岀劧鍚庨鍑虹▼搴鐨勬椂鍊瑕佽寰椾娇鐢╢ree閲婃斁杩欎簺鍙橀噺绌洪棿锛屽惁鍒欎細閫犳垚鍐呭瓨娉勯湶銆傛瘮濡備綘瑕佸畾涔変竴涓瓧绗﹀瀷鐨勫姩鎬佹暟缁勶紝鍙互鍏堝0鏄...
  • 鍦C璇█涓,濡傛灉缁欐暟缁勪腑鐨勫叏閮ㄥ厓绱犺祴鍊,鍒欏湪瀹氫箟鏁扮粍鏃,鍙互涓缁...
    绛旓細杩欎箞璇存妸.瀛楃鏁扮粍鍙兘鍒濆鑺辨椂鍏ㄩ儴璧嬬洿,鍦ㄧ▼搴忎腑鍙兘鐢ㄤ笅鏍囨潵閫愪釜璧嬬洿,鍦ㄥ垵濮嬪寲鏃跺鏋滃叏閮ㄦ寚瀹氫簡鍒濈洿灏卞彲浠ョ渷鐣鏁扮粍闀垮害
  • C璇█涓櫘閫鏁扮粍鍦瀹氫箟鐨勬椂鍊欎笉缁欏嚭鏁扮粍鐨勫叿浣闀垮害,閭d箞璁$畻鏈烘槸鍦ㄨ繍琛...
    绛旓細鍙橀暱鏁扮粍锛鏁扮粍闀垮害涓哄彉閲忥紝鍦ㄧ紪璇戞湡闂翠笉鑳界‘瀹氭暟缁勯暱搴︼紝瑕佺瓑鍒扮▼搴忚繍琛屽悗锛屽彉閲忚祴鍊煎悗锛鏁扮粍瀹氫箟璇彞涓嶈鍐欏湪鍙橀噺璧嬪间箣鍓嶏紒锛夛紝鎵嶈兘缁欐暟缁勫垎閰嶅唴瀛樸傚彉闀挎暟缁勬湰璐ㄨ繕鏄潤鎬佹暟缁勶紙瀹氫箟鍓嶅ぇ灏忓彲鍙橈紝浣嗗畾涔夊悗涓嶈兘鏀瑰彉澶у皬锛夈傝瀹氫箟鍔ㄦ佹暟缁勯渶瑕佺敤malloc鍑芥暟鏉ョ敵璇峰唴瀛樸
  • C璇█涓嚱鏁板0鏄鐨勬椂鍊欐暟缁勯暱搴鑳藉惁涓嶅啓? int a[10]; int b(int a...
    绛旓細鍙互涓鍐欑殑锛瀹氫箟鐨勬椂鍊涔熷彲浠ヤ笉鍐欑殑锛屽洜涓哄畠鎺ュ彈杩囨潵鍙槸鏁扮粍鍚嶏紝灏辨槸涓涓寚閽
  • C璇█澹版槑鏁扮粍鍙橀噺鏃,鍦ㄤ粈涔堟儏鍐典笂,鍙笉鎸囧畾
    绛旓細浣犳槸鎯抽棶涓嶆寚瀹闀垮害鍚楋紵涓嶅彲浠ワ紝c璇█鐢宠鏁扮粍鐨勬椂鍊蹇呴』鎸囧畾闀垮害銆俢89瑙勫畾c璇█瀛愮▼搴忓繀椤绘妸鍙橀噺澹版槑鏀惧湪寮濮嬨備笉鎸囧畾闀垮害鐨勮瘽锛屼綘鍙互浣跨敤鍔ㄦ佸垎閰嶆柟寮忥紝鐢╩alloc涓哄叾鍒嗛厤绌洪棿锛岃繖涓椂鍊欎綘闇瑕佺敤鎸囬拡鏉ヨ褰曢鍦板潃锛岀敤璧锋潵鍜屾暟缁勫樊涓嶅銆
  • C璇█閲岄潰 鏁扮粍閮借浜嬪厛瀹氫箟闀垮害鍚 ?
    绛旓細C璇█鏁扮粍鐨闀垮害鏄鍏瀹氫箟濂界殑锛屽湪鏁翠釜绋嬪簭涓浐瀹氫笉鍙樸傛搷浣滄柟娉曞涓嬶細1銆侀鍏堬紝鐐瑰嚮杩涗汉visual studio锛岀劧鍚庢柊寤轰竴涓猚椤圭洰銆2銆佹帴鐫锛屽湪婧愪唬鐮佷腑娣诲姞c椤圭洰鎵浣跨敤鐨勫ご鏂囦欢锛岃緭鍏ュ嵆鍙紝濡備笅鍥炬墍绀恒3銆侀鍏堝畾涔変竴涓暣鍨鏁扮粍array锛屽皢鍏堕暱搴﹁缃负4銆4銆佺劧鍚庡畾涔変竴涓暣鍨嬫暟鎹甽ength锛岃鍙傛暟鐢ㄦ潵鍌ㄥ瓨鏁扮粍...
  • c璇█涓瀹氫箟鏁扮粍鐨勬椂鍊欏彲涓鍙互缂虹渷鏁扮粍闀垮害 ,鍦ㄧ敤鎴疯緭鍏ヤ换鎰忓瓧绗﹀悗璁╃郴...
    绛旓細锛1锛変綘鍙互瀹氫箟涓涓闀垮害闀夸簬闇瑕佺殑鏁扮粍锛屼緥濡傦細 char str[500];鎴栬 锛2锛夎繍琛屾椂锛岃緭鍏ラ暱搴︼紝鍋氬姩鎬佸垎閰嶏紝鍐嶈緭鍏ユ暟鎹 锛屼緥濡傦細char *str; int n;printf("input length n: "); scanf("%d",&n);str = malloc(sizeof(char) * n);鎴栬 涓嶇煡閬撻暱搴︼紝瀹屽叏闅忔満锛 閭d箞 (3) 鐢 ...
  • 扩展阅读:c#入门基础知识 ... c#教程自学 ... c语言数组的下标范围 ... 如何用c语言做成绩排名 ... c#语言教程 ... c语言释放数组 ... c语言必背100代码 ... 成绩分段计数c语言 ... c语言中如何去重 ...

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