c語言帶數組
⑴ c語言定義一個函數如果含有數組
void min(int a[],int x) //int x是用來標記傳過來的數組的長度(即a數組指向的那個數組的長度)。
因為你在函數中計算的時候,a只能當做一個指針來用,沒有具體的長度,而且你是int 型的,所以沒有標准庫函數來求你需要計算的數組的長度,所以你就沒法計算。
void min(int a[],int b[])這樣計算沒錯誤,但是在計算的時候,你要知道a所指向的數組的長度和b所指向的長度,例如下面的例子:
a數組中有10個數,b數組中有2個數,a數組的大小是40個位元組,而指向他的c數組大小隻有4個位元組,所以當你運算的時候,你要知道c指向的a數組的大小,同理,d也是一樣。
#include"stdio.h"
#include"string.h"
void min(int c[],int d[])
{
int i,j=0;
int e[100]={0};
printf("c=%d
",sizeof(c));
for(i=0;i<10;i++)//a數組中有10個數
e[j++]=c[i];
for(i=0;i<2;i++)//b數組中有2個數
e[j++]=d[i];
for(i=0;e[i];i++)
printf("%d ",e[i]);
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[2]={3,4};
printf("a=%d
",sizeof(a));
min(a,b);
}
⑵ C語言數組
#include <stdio.h>
int main()
{ int i,t,n=8,a[9]= {3,6,8,9,10,13,15,18};
for(i=0; i<n; i++)
printf("%d ",a[i]);
printf(" ");
scanf("%d",&t);
for(i=n-1; i>-1&&a[i]>t; i--)
a[i+1]=a[i];
a[i+1]=t;
for(i=0; i<=n; i++)
printf("%d ",a[i]);
return 0;
}
⑶ c語言中數組有幾種
我們常見的C需要類型數組有:
char:只允許輸入字元,
int:是整型變數,輸入整數,范圍不大,在-32767到32767,
float:輸入可以使小數也可以輸入整數,在不確定的情況下,就用float,范圍還是比較的大,
double:如果說float是四個位元組的話,大伯是八個位元組。范圍比float大好多。
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。 盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性。
以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。 二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。
目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
⑷ 請問c語言的數組是什麼
所謂數組,是有序的元素序列。[1]若將有限個類型相同的變數的集合命名,那麼這個名稱為數組名。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。用於區分數組的各個元素的數字編號稱為下標。數組是在程序設計中,為了處理方便, 把具有相同類型的若干元素按無序的形式組織起來的一種形式。[1]這些無序排列的同類數據元素的集合稱為數組。
⑸ C語言調用帶數組的函數為什麼要這么寫
首先int max(int a[])這個函數參數的意思是接受一個數組的首地址,也就是說調用的時候必須是地址,也可以說是指針;
如果調用寫成max(a[10]),這裡面a[10]為第十一個元素的值當然不行了,除非你就是把地址放在裡面了,強制有的編譯器應該可以通過但是會有警告。
其實理解了的話max(a)和max(&a[0])都是可以的,都表示把數組a的首地址傳過去。
可以多去了解一下指針,多上機操作,多練練就會理解的越深。
⑹ C語言數組
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
#include<malloc.h>
voidsx(int*nums,intlen);//傳參數組、長度功能:將數組按升序排列
voidpsl(int*nums,intlen);//列印
intmain()
{
intn,i,*nums;
printf("輸入n的值(小於等於20):");
scanf("%d",&n);
nums=(int*)malloc(sizeof(int)*(n+1));
printf("生成隨機%d個2位數:",n);
srand(time(NULL));
for(i=0;i<n;i++)
nums[i]=rand()%100;
sx(nums,n);
printf("
升序排列後的數列為:");
psl(nums,n);
printf("
輸入要插入的數字:");
scanf("%d",&nums[n]);
sx(nums,n+1);
printf("插入後的升序數列為:");
psl(nums,n+1);
return0;
}
voidpsl(int*nums,intlen)
{
inti;
for(i=0;i<len;i++)
printf("%d",nums[i]);
}
voidsx(int*nums,intlen)//傳參數組、長度功能:將數組按升序排列
{
intnSave,i,j;
for(i=0;i<len;i++)
{
for(j=i;j<len;j++)
{
if(nums[i]>nums[j])
{
nSave=nums[i];
nums[i]=nums[j];
nums[j]=nSave;
}
}
}
}
⑺ c語言數組的定義
C語言支持一維數組和多維數組。如果一個數組的所有元素都不是數組,那麼該數組稱為一維數組。
在C語言中使用數組必須先進行定義,一維數組的定義方式為:類型說明符; 數組名 ;[常量表達式]。
其中,類型說明符是任一種基本數據類型或構造數據類型。數組名是用戶定義的數組標識符,方括弧中的常量表達式表示數據元素的個數,也稱為數組的長度。例如:
int a[10]; /* 說明整型數組a,有10個元素 */
float b[10], c[20]; /* 說明實型數組b,有10個元素,實型數組c,有20個元素 */
char ch[20]; /* 說明字元數組ch,有20個元素 */
對於數組類型說明應注意以下幾點:
1、數組的類型實際上是指數組元素的取值類型。對於同一個數組,其所有元素的數據類型都是相同的。
2、數組名的書寫規則應符合標識符的書寫規定。
3、數組名不能與其它變數名相同。例如:
int a;
float a[10];
是錯誤的。
4、方括弧中常量表達式表示數組元素的個數,如a[5]表示數組a有5個元素。但是其下標從0開始計算。因此5個元素分別為a[0], a[1], a[2], a[3], a[4]。
5、不能在方括弧中用變數來表示元素的個數,但是可以是符號常數或常量表達式。例如:
#define FD 5
// ...
int a[3+2],b[7+FD];
是合法的。但是下述說明方式是錯誤的。
int n=5;
int a[n];
6、允許在同一個類型說明中,說明多個數組和多個變數。例如:
int a,b,c,d,k1[10],k2[20];
(7)c語言帶數組擴展閱讀:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
⑻ C語言[數組]是什麼啊
數組就是一塊相同類型的數據集合,第一個成員可以為基址,基址+數組的數據類型位元組長度*該成員位置=該成員的內存指針