日期: 2022-09-21 02:59:42 浏览数:3

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

e <stdio.h>
int main()
{
int a[2] = {1,2};
printf("a = %d ",a[0]);
printf("*(a+0) = %d ",*(a + 0));
printf("a[1] = %d ",a[1]);
printf("*a = %d ",*a);
printf("*(a+1) = %d ",*(a + 1));
printf(" ");
printf("a 的地址:%p ",a);
printf("(a+0)的地址:%p ",(a + 0));
printf("(a+1)的地址:%p ",(a + 1));
// %p 读入一个指针
printf(" ");
return 0;
}
输出结果:
a = 1
*(a+0) = 1
a[1] = 2
*a = 1
*(a+1) = 2
a 的地址:0x7ffe9e227634
(a+0)的地址:0x7ffe9e227634
(a+1)的地址:0x7ffe9e227638
事实上 a[0] 、a[1]...a[i] 代表的都是值,a、(a+0)、(a+1)、(a+i) 代表的是地址;另外这里的 a 代表整个数组的首地址,相当于 a[0] 的地址,而这里 (a+1) 就代表的是 a[0+1] 的地址。
正如文章中提到的:所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素,即是说 (a+i) 就代表的是 a[0+i] 的地址。
沂圆束潇
沂圆束潇
953***815@qq.com
4年前 (2018-04-11)
布克F91
335***443@qq.com
28
对于数组的初始化需要注意以下几点:
1) 可以只给部分元素赋值,当 { } 中值的个数少于元素个数时,只给前面部分元素赋值。例如:
int a[10]={12, 19, 22 , 993, 344};
表示只给 a[0]~a[4] 5 个元素赋值,而后面 5 个元素自动初始化为 0。
当赋值的元素少于数组总体元素的时候,不同类型剩余的元素自动初始化值说明如下:
对于 short、int、long,就是整数 0;
对于 char,就是字符 '';
对于 float、double,就是小数 0.0。
我们可以通过下面的形式将数组的所有元素初始化为 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};
而不能写作:
int a[10] = 1;
布克F91
布克F91
335***443@qq.com
4年前 (2018-06-13)
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
指针与数组的区别
字符数组:
字符串指针:
得出结论字符数组的 首地址可以用 arrgs ,&arrgs,来表示并且它们相等,
但是指针&str和str是不同的,当遇到字符串指针时候要注意处理方式;
HBR1
238***9419@qq.com
喵帕斯
115***2452@qq.com
一个小知识点:
在我们没有明确数组的元素个数时,在程序中想知道数组单元个数可以使用 sizeof(a)/sizeof(a[0]), sizeof(a) 是得到数组 a 的大小,sizeof(a[0]) 是得到数组 a 中单个元素的大小(因此可以不必要是a[0],a[i]都行),eg:
#include<stdio.h>int main(int argc,char *grgv[]){ int a[]={1,2,3,4,5}; int b; b=sizeof(a)/sizeof(a[0]); printf("数组元素个数为:%d",b); return 0; }喵帕斯
115***2452@qq.com
流浪天涯
223***9389@qq.com
数组是一种一次申请多个变量的方法,数组的使用让我们可以在程序中保留多个变量的值,进行处理,例如给定n个学生的成绩,要求有多少学生超过了平均分,代码如下:
#include <stdio.h> //导如输入输出头文件int main(){ //主函数 int cj[100]={0};//定义数组 int n; int count=0;//定义计数器,统计有多少人达到平均分 scanf("%d",&n); int i=0; //读入数据 for(i=0;i<n;i++){ scanf("%d",&cj[i]); } //对数据进行求和 double sum=0; for(i=0;i<n;i++){ sum+=cj[i]; } //求平均分 double arg=sum/n; //判断有多少人达到平均分; for(i=0;i<n;i++){ if(cj[i]>arg){ count++; } } //输出平均分和人数 printf("平均分为:%0.2f 超过平均分的人有:%d个 ",arg,count); return 0;}流浪天涯
223***9389@qq.com
沂圆束潇
953***815@qq.com
#include <stdio.h>int main(){ int a[2] = {1,2}; printf("a = %d ",a[0]); printf("*(a+0) = %d ",*(a + 0)); printf("a[1] = %d ",a[1]); printf("*a = %d ",*a); printf("*(a+1) = %d ",*(a + 1)); printf(" "); printf("a 的地址:%p ",a); printf("(a+0)的地址:%p ",(a + 0)); printf("(a+1)的地址:%p ",(a + 1)); // %p 读入一个指针 printf(" "); return 0;}