C語言中,定義數組后可以用sizeof命令獲得數組的長度(即可容納元素個數)。但是通過傳遞數組名參數到子函數中,以獲得數組長度是不可行的,因為在子函數當中,數組名會退化為一個指針。
創新互聯主營蕪湖網站建設的網絡公司,主營網站建設方案,app開發定制,蕪湖h5微信平臺小程序開發搭建,蕪湖網站營銷推廣歡迎蕪湖等地區企業咨詢
堆區的數組,堆區的數組是自己申請的,比如用new申請空間:int* arr = new int[10],堆區的數組不能計算出包含元素個數。棧區的數組,棧區的數組是系統自動分配的。
int GetLength(int[] arr){return sizeof(arr) / sizeof(int); //就是用sizeof計算出來的數組長度 除以 數據類型的長度。
void main(){ int j;char s[5]={1,2,3,4,\0}; /*把字符依次賦值給數組中的每個元素,數組并不會自動在末尾加上\0,所以要手動加上\0。
1、如果這樣定義,每一行還是20個數,后面的自動補為0了,所以根據這個數組不能求得每一行的元素個數。樓主可以在這個數組每一行再添加一個特殊的數字作為標志位。
2、main里面第一行,a[10]就表示分配了10個元素的空間,所以a的size是10個int,故結果為10。所以就第一行改為a[5]或者a[]就可以了。估計你想要的是a[]這種,根據你列表里的元素個數,自動分配。
3、但是通過傳遞數組名參數到子函數中,以獲得數組長度是不可行的,因為在子函數當中,數組名會退化為一個指針。C語言是一門通用計算機編程語言,應用廣泛。
4、也就是說,未定義的數組會隨機取得1個值,所以在不定值中判斷是不是存在有效元素是不可取的。C語言中,數組沒有默許值,也就是說,未定義的數組會隨機取得1個值,所以在不定值中判斷是不是存在有效元素是不可取的。
如果這樣定義,每一行還是20個數,后面的自動補為0了,所以根據這個數組不能求得每一行的元素個數。樓主可以在這個數組每一行再添加一個特殊的數字作為標志位。
int strlen(char s[]);void main(){ int j;char s[5]={1,2,3,4,\0}; /*把字符依次賦值給數組中的每個元素,數組并不會自動在末尾加上\0,所以要手動加上\0。
main里面第一行,a[10]就表示分配了10個元素的空間,所以a的size是10個int,故結果為10。所以就第一行改為a[5]或者a[]就可以了。估計你想要的是a[]這種,根據你列表里的元素個數,自動分配。
int GetLength(int[] arr){return sizeof(arr) / sizeof(int); //就是用sizeof計算出來的數組長度 除以 數據類型的長度。
當前標題:c語言數組元素個數函數 c語言數組元素個數可以是變量嗎
分享網址:http://vcdvsql.cn/article32/dsjjcpc.html
成都網站建設公司_創新互聯,為您提供靜態網站、微信公眾號、營銷型網站建設、網站維護、虛擬主機、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯