c语言arr
① c语言,数组定义时,可以这样写arr[ ] ,不写下标,可以么为什么
只有在直升型接初始化的时候,可以。早笑春
比如 arr[] = {1, 2, 3};
没有初始化时就不可以。
大概就是要知道数组的大小,如果直接就初始化了,那也等于知道数组大小。
更根本的原因就是,语言和编译器的编写者这陆耐么设定,并在里面这么实现的。他们喜欢这种方式。
② 用C语言定义一个数组arr [10],用函数count()实现统计数组元素的值的平均值的个数,并在主函数打印输出
#include<bits/stdc++.h>
#defineLDBlongdouble
usingnamespacestd;
LDBcount(inta[]){
或老吵 LDBtot=0;
for(inti=0;i<10;i++)tot+=a[i];
tot/=10;
return(tot);
}
intmain(){
intarr[10];
printf("%.3Lf ",count(arr));
衫侍含枝}
③ c语言,如果arr是二维数组,写成arr[1]的话,arr[1]代表哪个地址的数据呢
arr[1]不代表任何地址的数据
它只代表arr[1][0]数据改缺的核团辩地址或漏,是地址!
④ C语言 为什么strlen (arr)会是1
因为strlen把数组arr中的第一个数2按字符串处理,2在内存中的编码是00000010 00000000 00000000 00000000,第一个字符不为0,告敏第二个字节就是0,那么字符串的长度就1。不信袜枯枝你把第一个数改败哗成303就结果就成2了——不过,好多编译器是不允许的,编译都过不了……
⑤ C语言中char * arr[ ]和(char *)arr[ ]的区别
char *是定义一个char类型的指针;
(char *)是把指针(无论是什么类型的磨袭销,例如:int)强制转换成char类型的指针;
char *arr[ ]是定义一个char类型的指针数组,数组里存的指针是指向瞎游char类型数据的;
(char *)arr[ ] 没有这么写的吧;
(char *)arr[ 0]、(char *)arr[1 ]等,是把数组arr的第禅姿0、第1个元素强制转换成char *类型(char类型指针)。
⑥ C语言中arr是什么
C语言中arr不属于C语言关键字,只是普通的用户自定义标识符。
C语言中关键字又称为保留字,就是已被C语言本身使用,不能作其它用途使用的字。例如关键字不能用作变量名、函数名等标识符。ANSI C标准C语言共有32个关键字,如:void、char、int、long等,arr并不是C语言的关键字。
C语言中标识符是用作程序的某一元素的名字的字符串或用来标识源程序中某个对象的名字的。这个元素可以是一个语句标号,一个过程或函数、一个数据元素。标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成。例如,正确的标识符:abc,a1。用户可自定义。
(6)c语言arr扩展阅读:
标识符使用规则:
1、标识符首字符不能是数字,但可以是字母或者下划线。
2、不能把C语言关键字作为用户标识符,例如if,for,while等。
3、标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
4、标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。
5、标识符命名应做到“见名知意”,例如,长度(length),求和、总计(sum),圆周率(pi)
⑦ C语言中arr是什么
第一卜坦旁句话
定义整形变量型橡i
整形一维数组arr
其中有6个元素
第二句话
函数自己写的吧信桐
这里直接用arr是取这个数组的一个元素的地址
也就是&arr[0]
⑧ C语言,为什么图中arr变量必须得初始化后修改值,不初始化可以修改值吗
C语言,变量不是必须得初始化后才能修改值,不初始化也可以直接赋值的,只是不能在“原有基础上”修改。
⑨ C语言,指针数组:怎么把arr[1]以%d的格式打印出来
arr是指针数键袜慎组,arr[1]的值是一个地址,这里对应数组名b(数组名稿敬表示数组地址的常量)。
所以打印输出arr[1]要用%p。而不是%d。
#include <stdio.h>
int main()
{
int a[]={10};
int b[]={20};
int c[]={30};
int *arr[]={a,b,c};
好旁 printf("数组名b表示其数组首地址:%p ",b[0]);
printf("arr[1]就是b数组的首地址:%p ",arr[1]);
return 0;
}
⑩ c语言中arr(i)与arr+i的区别是什么
arr(i)这是函数调用...
arr[i]就是*(arr + i)的简化写法而已
感觉不得不补充一句,上面只友塌是针对C语言的亩告链。如果是C++,*(arr + i)是指针[]操作符的默认实迅孙现。