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)是指針[]操作符的默認實迅孫現。