‘壹’ 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语言中,数组作为一个整体,不能参加数据运算,只能对单个的元素进行处理。