C语言中如何定义数组 c语言怎么定义数组
C\u8bed\u8a00\u4e2d\u5b9a\u4e49\u6570\u7ec4C\u8bed\u8a00\u7684\u6570\u7ec4\u6982\u5ff5\u7684\u5b66\u4e60\uff0c\u901a\u8fc7for\u5faa\u73af\u8f93\u51fa\u6253\u5370\u6570\u7ec4
C\u8bed\u8a00\u7684\u6570\u7ec4\u6982\u5ff5\u7684\u5b66\u4e60\uff0c\u901a\u8fc7for\u5faa\u73af\u8f93\u51fa\u6253\u5370\u6570\u7ec4
C语言中,同变量一样;数组也必须先定义后使用。
一维数组的定义形式:
类型标识符 数组名[常量表达式];例如int a[10]; 其中a为地址常量。
如变量的定义一样,int a ;double a;float a等;数组的定义只是把后面的变量名改为数组名而已。
int a[10]就是定义了一个数组名为a的数组;此数组有10个元素。其中各元素从a[0]到a[9];并没有a[10]元素。下面列举一个。
扩展资料
常量表达式可以包括字面常量和符号常量;但不能包含变量。例如对下面定义是错误的
int n=5
int a[n]
可以修改为
#define N 5
int a[N]
其中对二维及多位数组定义可以类推
int a[x][y][z][...]其中 x,y,z为数字。
参考资料
百度百科-C语言
数组定义的三种方式
1、第一种
int []a = newint[5];
a[0] = 10;
2、第二种
int []c = newint[]{1,2,3};
3、第三种
int []i ={1,2,3,4};
4、错误的写法
int []i1 = [1,2,3,4];
System.out.println(Arrays.toString(c));
5、总之,具体的元素不能被【】包裹。【】包裹的应该是数组的数量。
扩展资料
数组的注意事项:
1、 数组中每个元素的数据类型必须相同,对于inta[4];,每个元素都必须为 int。
2、 数组长度 length 最好是整数或者常量表达式,
3、 访问数组元素时,下标的取值范围为 0 ≤ index < length,
参考资料
百度百科-数组
如果是定义数组,一维数组就是int a[10];
类型说明符 数组名[常量表达式];
二维数组 int a[3][4];
类型说明符 数组名[常量表达式] [常量表达式];
但我觉得这个比较好理解,难一点的就是关于数组的输入
要用到for的循环语句
printf("please enter a[i]");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
可以完成a[5]的数组输入
主函数内定义的数组在堆栈段中分配内存。
全局变量数组在数据段中分配内存。
一般数据段比堆栈段大很多,
所以堆栈段分配不了的内存,数据段可以分配
(1)在堆栈段中分配内存,由于太大无法分配,所以错误。
(2)在数据段中分配内存,数据段可以分配,无错误。
(3)数组比(1)需要的内存少,在堆栈段大小范围内,可以分配,无错误
(4)同(3)
绛旓細鍙互鏄父閲忔垨绗﹀彿甯搁噺锛屼笉鑳戒负鍙橀噺銆備緥濡傦細1銆乮nt x[8]; 琛ㄧず瀹氫箟涓涓暣鍨嬫暟缁剎锛屾暟缁勯暱搴︿负8.2銆乫loat a[8],b[10];琛ㄧず瀹氫箟涓涓疄鍨嬫暟缁刡锛屾暟缁勯暱搴︿负8锛屼竴涓疄鍨鏁扮粍c锛屾暟缁勯暱搴︿负10 3銆 ch[15]; 琛ㄧず瀹氫箟涓涓瓧绗︽暟缁刢h锛屾暟缁勯暱搴︿负15銆
绛旓細鎸囬拡鏁扮粍瀹氫箟int*p[n];[]浼樺厛绾ч珮锛屽厛涓巔缁撳悎鎴愪负涓涓暟缁勶紝鍐嶇敱int*璇存槑杩欐槸涓涓暣鍨嬫寚閽堟暟缁勶紝瀹冩湁n涓寚閽堢被鍨嬬殑鏁扮粍鍏冪礌銆傝繖閲屾墽琛宲+1鏃讹紝鍒檖鎸囧悜涓嬩竴涓暟缁勫厓绱狅紝杩欐牱璧嬪兼槸閿欒鐨勶細p=a锛涘洜涓簆鏄釜涓嶅彲鐭ョ殑琛ㄧず锛屽彧瀛樺湪p[0]銆乸[1]銆乸[2]...p[n-1],鑰屼笖瀹冧滑鍒嗗埆鏄寚閽堝彉閲忓彲浠ョ敤鏉...
绛旓細缁撴瀯鏁扮粍灏辨槸鍏锋湁鐩稿悓缁撴瀯绫诲瀷鐨勫彉閲忛泦鍚堛傚亣濡傝瀹氫箟涓涓彮绾40涓悓瀛︾殑濮撳悕銆佹у埆銆佸勾榫勫拰浣忓潃, 鍙互瀹氫箟鎴愪竴涓粨鏋勬暟缁勩傚涓嬫墍绀:struct{ char name[8]; char sex[2]; int age; char addr[40]; }student[40];涔熷彲瀹氫箟涓:struct string{ char name[8]; char sex[2...
绛旓細浜岀淮鏁扮粍瀹氫箟鐨勪竴鑸舰寮忔槸锛歞ataType arrayName[length1][length2];鍏朵腑锛宒ataType 涓烘暟鎹被鍨嬶紝arrayName 涓烘暟缁勫悕锛宭ength1 涓虹涓缁翠笅鏍囩殑闀垮害锛宭ength2 涓虹浜岀淮涓嬫爣鐨勯暱搴︺備緥濡傦細int a[3][4];瀹氫箟浜嗕竴涓 3 琛 4 鍒楃殑浜岀淮鏁扮粍锛屽叡鏈 3脳4=12 涓厓绱狅紝鏁扮粍鍚嶄负 a锛屽嵆锛歛[0][0], a...
绛旓細鍔ㄦ鏁扮粍鏄寚鍦ㄥ0鏄庢椂娌℃湁纭畾鏁扮粍澶у皬鐨勬暟缁勶紝鍗冲拷鐣ユ柟鎷彿涓殑涓嬫爣銆備娇鐢ㄦ椂锛屽彲闅忔椂鐢≧eDim璇彞锛C璇█涓鐢╩alloc璇彞锛夐噸鏂版寚鍑烘暟缁勭殑澶у皬銆傚姩鎬佹暟缁勶紝鏄浉瀵逛簬闈欐佹暟缁勮岃█銆傞潤鎬佹暟缁勭殑闀垮害鏄鍏瀹氫箟濂界殑锛屽湪鏁翠釜绋嬪簭涓紝涓鏃︾粰瀹氬ぇ灏忓悗灏辨棤娉曟敼鍙樸傝屽姩鎬佹暟缁勫垯涓嶇劧锛屽畠鍙互闅忕▼搴忛渶瑕佽岄噸鏂版寚瀹氬ぇ灏...
绛旓細鍙橀噺鍙互鍦ㄥ畾涔夌殑鏃跺欏垵濮嬪寲锛屾暟缁勪篃鍙互銆俛rray[5]={1,2,3,4,5};鍦瀹氫箟鏁扮粍鏃讹紝鍙互鐢ㄦ斁鍦ㄤ竴瀵瑰ぇ鎷彿涓殑鍒濆鍖栬〃瀵瑰叾杩涜鍒濆鍖栥傚垵濮嬪寲鍊肩殑涓暟鍙互鍜屾暟缁勫厓绱犱釜鏁颁竴鏍峰銆傚鏋滃垵濮嬪寲鐨勪釜鏁板浜庡厓绱犱釜鏁帮紝灏嗕骇鐢熺紪璇戦敊璇紱濡傛灉灏戜簬鍏冪礌涓暟锛屽叾浣欑殑鍏冪礌琚垵濮嬪寲涓0銆傚鏋滅淮鏁拌〃杈惧紡涓虹┖鏃讹紝...
绛旓細printf("%d ",x[i]); return 0; }璇烽棶C璇█涓浣鎶婁竴涓簩缁鏁扮粍鐢ㄤ竴缁存暟缁勮〃绀哄嚭鏉ワ紵 瀹氫箟a[][4]涓轰竴涓4鍒楃殑浜岀淮鏁扮粍鍚庯紝a[2]鏄*(a+2)锛岃繖閲宎鏄竴涓寚鍚4涓暣鍨嬬殑鏁扮粍鎸囬拡锛 a[2]涔熷彲浠ョ悊瑙d负&a[2][0]锛屽洜涓烘暟缁刟鍏跺疄鍙畾涔変簡涓琛岋紝鎵浠&a[2][0]宸茬粡瓒婄晫浜嗭紝涓嶈繃鍦╟...
绛旓細C璇█瀛楃涓鏁扮粍涓殑姣忎竴涓厓绱犲潎涓烘寚閽堬紝鍗虫湁璇稿舰濡傗減tr_array[i]鈥濈殑鎸囬拡銆傜敱浜庢暟缁勫厓绱犲潎涓烘寚閽堬紝鍥犳ptr_array[i]鏄寚绗琲+1涓厓绱犵殑鎸囬拡銆備緥锛氬浜岀淮鎸囬拡鏁扮粍鐨瀹氫箟涓猴細char *ptr_array[3]={{"asdx","qwer","fdsfaf"}锛寋"44444","555","6666"}锛寋"a78x","q3er","f2f"}};...
绛旓細鏂规硶1锛屼娇鐢ㄦ寚閽鏁扮粍锛歩nclude <string.h> include <stdio.h> include <stdlib.h> int main(){ char test[]={ "this is a test ","test 2 ",""};int i=0;while(strcmp(test[i],"")!= 0)puts(test[i++]);system("PAUSE ");return 0;} 杩欎釜鏂规硶姣旇緝绠鍗曪紝浣嗘槸闂鏄繖鏍风殑璇濓紝...
绛旓細//--- include <stdio.h> include <stdlib.h> typedef int datatype;datatype **na(const int m,const int n) /*鍒涘缓涓涓猰琛宯鍒楃殑datatype绫诲瀷鏁扮粍锛岃繑鍥為鍦板潃锛屽鏋滃垱寤哄け璐ュ垯杩斿洖NULL*/ { int i;datatype **a=(datatype**)malloc(sizeof(datatype *)*m);if (!a) { return NU...