日期: 2022-09-21 03:27:24 浏览数:5

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
贵阳企业网站设计 - 贵阳高端网站定制 - 贵阳品牌网站搭建 - 上往建站

()
{
double arr[10] = {0};
for(int i=0; i<sizeof(arr)/sizeof(double); i++)
printf("%d ", arr[i]);
printf(" ");
int a[3][4] = {0};
for(int i=0; i<3; i++)
{
for(int j=0; j<4; j++)
printf("%d ", a[i][j]);
printf(" ");
}
return 0;
}
wshisuifeng
wshisuifeng
wsh***ifeng@outlook.com
3年前 (2019-05-28)
C渣渣
298***3628@qq.com
12
可将枚举、数组和结构体结合起来使用,例如输入5个人的姓名、学号、成绩,但是光靠记忆是记不住哪个人的成绩是数组中第几个元素:
struct Student
{
char name;
long num;
double grade;
} ST;
struct Student ST = {{"zhangsan", 0001, 86},
{"lisi", 0002, 72.5},
{"wangwu", 0003, 60},
{"chenliu", 0004, 23},
{"cuihua", 0005, 92}};
enum ST_INDEX
{
zhangsan = 0,
lisi,
wangwu,
chenliu,
cuihua,
}
这样通过索引枚举中各个人的名字作为数组中的元素位置即可快速查询某个人的成绩等信息。
C渣渣
C渣渣
298***3628@qq.com
3年前 (2019-12-05)
sixwolves
liu***996@163.com
26
int a[10];
数组名是指向数组首个元素的指针常量,*a==a[0],
贵阳企业网站设计 - 贵阳高端网站定制 - 贵阳品牌网站搭建 - 上往建站
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
我们可以通过下面的形式将数组的所有元素初始化为 0:
int nums[10] = {0};char str[10] = {0};float scores[10] = {0.0};由于剩余的元素会自动初始化为 0,所以只需要给第 0 个元素赋值为 0 即可。
2) 只能给元素逐个赋值,不能给数组整体赋值。例如给 10 个元素全部赋值为 1,只能写作:
int a[10] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1};而不能写作:
布克F91
335***443@qq.com
于 float、double,就是小数 0.0。
Jiangang
121***5109@qq.com
指针与数组名的区别
指针:也是一个变量,存储的数据是地址。
数组名:代表的是该数组最开始的一个元素的地址。
区别:指针是一个变量,可以进行数值运算。数组名不是变量,不可以进行数值运算。
Jiangang
121***5109@qq.com
对数组元素 a[i]的引用也可以写成*(a+i)这种形式。
赋值语句 p=&a[0] 也可以写成下列形式: p=a。
p 是个指针,p[i]与*(p+i)是等价的。
chrislee
cod***hrislee@163.com
数组和指针的关系
// 一个整型数组的指针,长度为 len, 得到数组中的最小值和最大值 ———— 从外部传入两个指针,从而将所求的两个结果保存带出来,得到多个返回值。void minMax(int a[], int len, int *min, int *max) { int i; *min = *max = a[0]; //假定最大值 最小值相等 为a[0] for(i= 1; i < len, i++) { if( a[i] < *min) { *min = a[i]; } if(a[i] > *max) { *max = a[i]; } }}int a[] = {1, 2, 3, 4, 5, 7, 8, 9, 15, 18, 25, 33};int min, max;minMax(a, sizeof(a)/ sizeof(a[0]), &min , &max );printf( "min = %d, max = %d ", min, max);chrislee
cod***hrislee@163.com
数组变量是特殊的指针,数组变量本身表达地址,int a[10]; int *p =a;
数组变量无需用取址符& ;
数组的元素表达的是变量,需要用&取地址,如 m = &a[0];
[]运算符可以对数组做,也可以对指针做p[0] == a[0];*运算符可以对指针做,也可以对数组做*a = 25, *a可以得到或者修改数组首个元素的值;实际上数组是 const 的指针,所以不能被赋值。 如果
int a[] = {1,2,5,7};int b[],由于int b[]实质上等价于 <===> int const *b; b 是一个常数,不能被改变,初始化出来代表这个数组就不能再改变。 b = a; (错误) 数组变量之间是不可以这样互相赋值的。 而 int *q = a; 这样是可以的。函数的参数中 数组类型参数
int a[]本质是指针 可以直接换成int *a;可以用数组的运算符
[]进行运算,而且可以通过a[0]就直接修改了外面的数组元素;size of(a) == sizeof(int *)所以函数内部没法用sizeof得到数组的长度 只能传一个len;瓜皮
410***702@qq.com
数组赋值的区别:
char a[]="runoob"; // 这样赋值之后在结尾会自动加上''。char a1[]={'r','u','n','o','o','b'}; // 这样赋值是整整好好的6个空间不会自动加上 <span class="marked"></span>。所以比较的话,a 的长度比 a1 的要大。
瓜皮
410***702@qq.com
wshisuifeng
wsh***ifeng@outlook.com
数组初始化技巧: 将元素全部置零 {0}。
#include <stdio.h>int main(){ double arr[10] = {0}; for(int i=0; i<sizeof(arr)/sizeof(double); i++) printf("%d ", arr[i]);