1樓:鹿田陶棠
真是沒轍...實在就多分配點空間...連結串列是動態的,如果用c++。
把動態分配放到類裡面,就給你一個介面,你是不是也認為那是動態的呢??c與vb不能比...vb有幾個是弄記憶體的?
2樓:丿艾瑞灬莉婭
基本上是對的,scanf()裡的引數就是變數的地址陣列名你可以理解為這個陣列的起始地址(第一個元素的地址),比如你這裡的a,它就相當於是&a[0],a+i就是第i個元素的地址,所以要想給這個陣列賦值,還可以這樣
for(i = 0; i < 6; i++)scanf("%d", a+i);
3樓:經鯨樊新榮
你怎麼跟我大一的想法一樣,既然要求是不定的,那就老老實實用別的連結串列啊,佇列啊,為什麼偏偏要用陣列呢?哎,陣列是不可以變的,懂不?malloc函式很好用的,你會喜歡的,向高手進軍第一步
4樓:匿名使用者
「scanf("%d",&a[6]);可以嗎?好像可以,&是地址符,我把輸入的數放在a[6]這個地址中去,是這樣理解的嗎?」
這樣理解是對的;
&是取地址符,scanf("%d",&a);a是陣列名,本身就是地址,&a是對整個陣列所佔的記憶體空間取地址,相當於我們定義了一個整型變數int a,對a取地址&a,得到的地址當然是a的首位元組地址。
看看這個:網頁連結
c語言陣列怎麼輸出全部?
5樓:我叫王土土豆
c語言陣列輸出全部步驟如下:
1、首先開啟c語言專案,然後建立一個int型別的陣列。
2、然後規定陣列的大小,再設定陣列儲存資料。
3、然後在mian函式中,建立int型別的變數i,然後用for語句。
4、然後for語句中進行迴圈,再for語句中,利用printf語句。
5、然後設定輸出的型別,再寫入輸出的物件。
6、然後點選執行程式,就可以看到陣列的所有資料。
6樓:匿名使用者
//如下的函式可以輸出整型陣列的全部資料
//第一個引數是陣列名,第二個引數是陣列元素的個數void show(int num,int n){int i;
for(i=0;i
7樓:匿名使用者
字元陣列可以直接輸出,但其它的不可以
你可以用迴圈來輸出
for(i=0;i<5;i++)
prinf("%d ", c[i]);
8樓:_小_蘇
for( int i = 0; i < 5; i++)
9樓:
嗯,二樓寫的是做常用的了
如何在c語言中用scanf輸入陣列
10樓:
執行scanf的**:
#include
int main()
printf("%c\n",arr[0]);
for(i=0;i
else if(arr[i]=='r')
}printf("%d\n",t);
將scanf中的%c變為 %c,得到預期結果。
11樓:知識慧
#include
int main()
printf("%c\n",arr[0]);
for(i=0;i
else if(arr[i]=='r')
}printf("%d\n",t);
源**截圖:
12樓:匿名使用者
非char型別陣列,只能一個一個的輸入陣列元素!
char 型別陣列,可以用字串操作輸入一連串的字元。char str[100] ; scanf("%s", str );
13樓:文正
用for迴圈實現.如:
int i[10], j;
for(j=0; j<9; j++)
scanf("%d", &i[j]);
c語言中如何定義陣列
14樓:文望刃
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為數字。
15樓:匿名使用者
陣列定義的三種方式
1、第一種
int a = newint[5];
a[0] = 10;
2、第二種
int c = newint;
3、第三種
int i =;
4、錯誤的寫法
int i1 = [1,2,3,4];
system.out.println(arrays.tostring(c));
5、總之,具體的元素不能被【】包裹。【】包裹的應該是陣列的數量。
擴充套件資料陣列的注意事項:
1、 陣列中每個元素的資料型別必須相同,對於inta[4];,每個元素都必須為 int。
2、 陣列長度 length 最好是整數或者常量表示式,3、 訪問陣列元素時,下標的取值範圍為 0 ≤ index < length,
參考資料
16樓:星願
定義整形陣列
int a[5];
int a = ;
int a[3][4];/*建立一個有3行4列的二維陣列*/
printf("please enter a[i]");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
可以完成a[5]的陣列輸入
17樓:育知同創教育
主函式內定義的陣列在堆疊段中分配記憶體。
全域性變數陣列在資料段中分配記憶體。
一般資料段比堆疊段大很多,
所以堆疊段分配不了的記憶體,資料段可以分配
(1)在堆疊段中分配記憶體,由於太大無法分配,所以錯誤。
(2)在資料段中分配記憶體,資料段可以分配,無錯誤。
(3)陣列比(1)需要的記憶體少,在堆疊段大小範圍內,可以分配,無錯誤(4)同(3)
18樓:匿名使用者
int a[3];/*建立一個有3個元素的一維陣列*/
int a[3][4];/*建立一個有3行4列的二維陣列*/
int a[4][5][6];/*建立一個有4層5行6列的三維陣列*/
19樓:匿名使用者
定義一維陣列:int a[n] 如:int a[3] ,表示這個陣列可以存三個數: 1 4 2
定義二維陣列: int a[m][n] 如 int a[2][3],標售這個陣列可以存2行三列 共6個數:
如:2 4 4
5 6 7
20樓:風了瘋了鋒了
如果是定義數
組,一維陣列就是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]的陣列輸入
21樓:匿名使用者
例如定義整形陣列
int a[5];
int a = ;
22樓:
詳細瞭解c語言程式設計知識第七節-c語言陣列定義,標識與賦值
在c語言中,怎樣引用陣列中所有的元素啊?
23樓:
不能,c沒有提供這種功能,只能一個元素一個元素地引用……
24樓:匿名使用者
要引用陣列巨集的每個元素做些計算,可以將陣列及陣列的長度作為引數同時傳遞給呼叫函式就可以實現了,比如:
#include
int sum(int a, int size)return result;
}main()
s = sum(a, 8);
printf("%d", s);}
在c語言中,如何在陣列中插入一個數
25樓:匿名使用者
方法為:輸入一個資料x,將陣列中的資料與x逐一比較,如果大於x,記錄下資料的下標,然後此資料下標和其後的資料的下標都加一,相當於都向後挪一位,然後將x賦值給陣列的那個下標。
#include
int main()
int i, j, k, x, a[11] =(3, 6, 7, 9, 12, 14, 15, 27, 29, 31) ;
printf("插入前陣列的資料是:") ;
for(i=0;i<10;i++)
printf("%4d",a[i] ) ;
printf("\n") ;
printf("請輸入要插入的資料:") ;
scanf("%d",&x) ;
for(i=0;i<10;i++)
if(a[i]>x)
break;
for(j=9; j>=i; j--)
alj+1] =alj] ;
a[i]=x;
printf("插入後陣列的資料是:") ;
for(i=0; i<11; i++)
printf("%4d",[i] ) ;
return 0;
26樓:傑遜漂流記
有一個已排好序(從大到小)的陣列有5個元素,從鍵盤輸入一個數,要求按原排序的規律將它插入到陣列中<5;i++) if(x2.
j=i; /*當這個數比當前數小時,用j記住當前位置,即j=i,中斷迴圈。……
27樓:招鵬鯨清可
#include"stdio.h"
#include"string.h"
void
main()
;//////////這裡定義陣列的時候,要寫上11,否則會認為該陣列只有10個元素,那樣的話,無法對其進行插入的。其他地方沒有錯誤
inti,j,temp,n;
for(i=0;i<10;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
printf("按從小到大的排列順序為:\n");
for(i=0;i<10;i++)
printf("%d
",a[i]);
printf("請輸入你想插入陣列的數字:");
scanf("%d",&n);
for(i=0;i<10;i++)
if(n
=i;j--)
a[j+1]=a[j];
break;
}a[i]=n;
for(i=0;i<11;i++)
printf("%d
",a[i]);
printf("\n");}
28樓:匿名使用者
樓主能說具體點嗎。有很多方法,比如用字串連線的函式,strc...什麼什麼的函式,還可以直接插入一個數,和陣列中的數比較大小
29樓:匿名使用者
比如在第n個數中插入一個m
在c語言中,如何在陣列中插入一個數?
30樓:開心地的春天
c語言向有序陣列中插入一個數使該陣列仍保持有序#include
int main()
}}for(j=0; j
C語言陣列
樓主你應該同時把unsigned char去掉改成intunsigned表示無符號。也就是肯定不能有負號,這是錯誤一。第二個你char是字元型,1是整形,顯然不對你這樣定義肯定沒問題 int score 7 c裡不夠的賦值自動預設為0.所以這個等價於 int score 7 你想全部賦值成 1.只能...
用c語言動態三維陣列用C語言,動態三維陣列
1 先說二維,可以這麼理解 int n 3 有3個int 那麼,int m 5 3 有5個int 3 賦值時 n 1 3把3給1號 m 4 m 4 是個int 3 型別,這麼賦值,也就是這麼賦值 m 4 的 0 是5 m 4 0 5 m 4 1 9 m 4 2 4 懂了嗎?三維甚至更多維大同小異,比...
c語言中如何定義陣列C語言中如何定義陣列
c語言中,同變數一樣 陣列也必須先定義後使用。一維陣列的定義形式 型別識別符號 陣列名 常量表示式 例如int a 10 其中a為地址常量。如變數的定義一樣,int a double a float a等 陣列的定義只是把後面的變數名改為陣列名而已。int a 10 就是定義了一個陣列名為a的陣列 ...