『壹』 c語言,怎麼用for 循環給數組賦值 說的簡單詳細點, 謝謝了
1、首先打開c語言項目,輸入如圖所示代碼創建一個int類型的數組。
『貳』 c語言中怎樣實現對二維數組元素進行賦值並輸出。
可以按照下面步驟進行定義二維數組並輸出:
1 定義二維指針。
2 確定數組維數,即行數和列數。
3 申請行數個一維指針大小空間,並賦值給二維指針。
4 對於每個一維指,申請列數個元素的空間,並賦值給對應的一維指針。
5 輸入或賦值數據。
6 使用雙重循環,逐個范圍存儲單元並輸出。
7 逐個釋放一維指針上的內存。
8 釋放二維指針上的內存。
以整型二維數組為例:
下面的代碼,實現先輸入二維數組的行數m和列數n,並再輸入m*n個整型數據存到動態二維數組中。最後輸出所有二維數組的元素值。
『叄』 C語言中的二維數組的賦值,輸入輸出怎麼用
代碼,實現先輸入二維數組的行數m和列數n,並再輸入m*n個整型數據存到動態二維數組中。最後輸出所有二維數組的元素值。
int main()
{
int**p;//定義二維指針。
int m,n;//行數和列數。
int i,j;
scanf("%d%d",&m,&n);//輸入行數和列數。
if(m<=0||n<=0)return-1;//行數或列數非法。
p=(int**)malloc(sizeof(int*)*m);//申請一組一維指針空間。
for(i=0;i<m;i++)
p<i>=(int*)malloc(sizeof(int)*n);//對於每個一維指針,申請一行數據的空間。
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&p<i>[j]);//輸入第i行第j列的數據。其中&p<i>[j]也可以寫作p<i>+j或者是*(p+i)+j.功能相同。
printf("輸入的數組為%d行%d列: ",m,n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)//這個循環可以輸出一行元素。
printf("%d",p<i>[j]);//輸出i行j列的元素。
printf(" ");//每行輸入結束加換行符。
}
//釋放內存
for(i=0;i<m;i++)
free(p<i>);
free(p);
return 0;
}
(3)c語言給數組賦值輸出擴展閱讀:
函數:free
功能:與malloc()函數配對使用,釋放malloc函數申請的動態內存。(另:對於free(p)這句語句,如果p是NULL指針,那麼free對p無論操作多少次都不會出問題。如果p不是NULL指針,那麼free對p連續操作兩次就會導致程序運行錯誤。)
用法;void free(void*ptr);
程序例:
C/C++代碼如下:
#include<string.h>
#include<stdio.h>
#include<alloc.h>//or#include<malloc.h>
int main(void)
{
char*str;
/*allocate memory for string*/
str=(char*)malloc(10);
/*"Hello"to string*/
strcpy(str,"Hello");
/*display string*/
printf("String is%s ",str);
/*free memory*/
free(str);
str=NULL;
return 0;
}
『肆』 C語言,結構體中的數組怎麼賦值,
intmain(void){
structstudentsbao={};
printf("%d,%s ",bao.id,bao.name);//輸出是4224528,空(應該是null)
//structstudentsbao={3,"123"};可以。第一種賦值方法
//strcpy(bao.name,"bao");//可以,
//printf("%d,%s ",bao.id,bao.name);
//bao.name="bao";錯誤「stray'351'inprogram」其他是亂碼,
//bao.name[0]='a';
//bao.name[0]='/0';
//printf("%d,%s ",bao.id,bao.name);
/*這樣可以,*/
//chararr[10]="baobao";
////bao.name=arr;//error""
//scanf("%s",bao.name);//可以,
//printf("%d,%s ",bao.id,bao.name);
//所以scanf那一類函數都可以。
//還有就是memcpy函數也是可以的
return0;
}
(4)c語言給數組賦值輸出擴展閱讀
C語言結構體數組的直接賦值及數組的長度計算:
#include<stdio.h>
//自定義一個字元串的結構體,包含字元串和字元串長度兩個變數
typedefstructStr{
charch[100];
intlength;//char數組(字元串)的長度
}myStr;
//剛開始聲明變數時每個變數的字元串長度length都為0
//這里以長度為10的數組為例,數組長度是1000
//對第0個到第9個結構體數組的長度同時賦值為0
myStrmyStr1[10]={
[0...9]={
.length=0,
}
};
intmain(){
inti;
for(i=0;i<10;i++){
printf("%d ",myStr1[i].length);
}
return0;
}
『伍』 C語言題目:定義一個一維數組,並給數組賦值
一位數組賦值的幾種方式
int
a[10]={1,2,3,4,5,6,7,8,9,10};
.一般初始化,例:
int
a[10]={3,10,5,3,4,5,6,7,8,9};
int
array[5]={2,3,4,5,6};
其結果是給每一個數組元素都指定了初值。
2.部分元素初始化,其餘元素均為零。
例:
int
a[10]={7,8,9,67,54};
僅給前5個元素賦初值,後5個元素初值為0。
3.全部元素均初始化為1。
int
a[10]
=
{1,1,1,1,1,1,1,1,1,1};
不允許簡寫為 int
a[10]={1};或int
b[10]={1*10};
同學們想一想上述定義a和b數組後,初始化結果是什麼?
注意:當程序不給數組指定初始值時,編譯器作如下處理:
(1)部分元素初始化,編譯器自動為沒有初始化的元素初始化為0。
(2)數值數組如果只定義不初始化,編譯器不為數組自動指定初始值,即初值為一些隨機值(值不確定)。
4.如果全部元素均指定初值,定義中可省略元素的個數。
例:
int
a[5]={9,28,3,4,5};可以寫為:
int
a[
]={9,28,3,4,5};
數組元素的引用
c語言規定,不能整體引用數值數組,只能逐個引用數組元素;
元素引用方式:數組名[下標表達式]
例:a[0]
=
a[5]
+
a[7]
-
a[2*3]
「下標表達式」可以是任何非負整型數據。
特別強調:1.一個數組元素,實質上就是一個變數,它具有和相同類型單個變數一樣的屬性,可以對它進行賦值和參與各種運算。
2.在c語言中,數組作為一個整體,不能參加數據運算,只能對單個的元素進行處理。