www.jbmf.net > C语言如何创建数组

C语言如何创建数组

第一个,int a[10]; 这里的10就是常量.第二个 用变量int n=10;int a[n];很多编译器会不支持.第三个int *a;a=(int *)malloc(sizeof(int)*10);使用后,要对a做free(a);

c++中不可以动态建的,但是有方法可以做出这种效果以一维数组为例吧#includevoid main(){int rem;int a[100];cout>rem;for(int i=0;i>a[i];}}

如果不先定以数组大小的话.那就需要用malloc函数开开辟一个存储空间.

动态数组:void creat(linklist &L){int x;L=new Lnode;linklist p,u;p=L;cout<<"请输入一些有序的整数,以负数结束:"<<endl;cout<<"请输入一个整数:"<<endl;cin>>x;while(x>0){u=new Lnode;u->data=x;p->next=u;p=p->next;cin>>x;}p->next=NULL;} 静态数组: int iArray[10]={1,1,2,3,5,8,13,21,34,55); //初始化 void main() { // }

这样的输出是不正确的.(我这里输出是-72 -66 -60,可能你那不是这结果). 1、a[b]是二维中的首维数组了,如果真是取其数据的话,应该用指针才对(也就是*a[b]) 2、数组起始索引是从0开始的,而你用了b=1 - 3 的循环(越界了),b应该从0--2做循环 3、如果你是按如下代码的话,输出就是:147 for(b=0;b<=2;b++) printf("%d",*a[b]);

定义一个指针,将数据的第一个赋给头指针,例如:int *p;*p=a;p++;*p=b;以此类推,等等:

:连续批量赋值可以用memsetchar A[20];memset(A[2],'A',5);//对数组A第3个元素开始的连续5个元素统一赋值为字符'A'如果每个需要赋值的元素都不同,就只能一个个赋值了.

定义整形数组 int a[5]; int a[] = {1,2,3.}; int a[3][4];/*创建一个有3行4列的二维数组*/ printf("please enter a[i]"); for(i=0;i<5;i++) scanf("%d",&a[i]); 可以完成a[5]的数组输入

#include <stdio.h>#include<stdlib.h> struct s {int a[2]; struct s *next; }; //定义了一个结构体 main() { int i=0; struct s *head,*p; head=p=(struct s *)malloc(sizeof(struct s));//开辟一个新单元 for(i=0;i<2;i++) //定i<2,(如果你想要100个数组,i 就等

struct aa { int d; float t; }std[3]; 输出 for(i=0;i<3;I++) { printf("%d",std[i]->d); printf("%f",std[i]->t); } /*输出模式基本上就这样*/

网站地图

All rights reserved Powered by www.jbmf.net

copyright ©right 2010-2021。
www.jbmf.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com