C语言 数组长度计算 - C语言零基础入门教程
生活随笔
收集整理的這篇文章主要介紹了
C语言 数组长度计算 - C语言零基础入门教程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一.計算數組長度
- 1.經典案例
- 2.計算數組長度
- 二.猜你喜歡
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.計算數組長度
1.經典案例
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 數組長度計算 //@Time:2021/06/12 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************/#include "stdafx.h" #include<stdlib.h> #include<stdio.h>void main() {int arr[] = { 1, 2, 3 };int len = sizeof(arr) ; //錯誤的計算數組大小printf("sizeof(arr) : %d\n",len);for (int i = 0; i < len; i++){printf("%d,", arr[i]);}printf("\n");system("pause"); } /* 輸出結果:sizeof(arr) : 12 1,2,3,-858993460,9697168,11737625,1,13017304,13018680,123799719,11735310,11735310, 請按任意鍵繼續. . . */是不是很懵逼,,除了會輸出 以外,還會輸出雜亂無章的數字,但一共是輸出 12 個。因為數組的內存是動態分配的,到了元素 3 以后的元素都是新分配的,并不一定是空,隨機數。
因為 c 語言數組是一片連續的空間,元素 3 的空間是有數據的,數據被正常讀取出來;而元素 4,5,6...11 一些沒有實際意義的雜亂無章的數字。
出現隨機數原因:數組一共就3個元素。通過 sizeof 函數計算的數組個數確是 12,那么一開始我們在獲取數組元素個數的時候就出錯了;
2.計算數組長度
/******************************************************************************************/ //@Author:猿說編程 //@Blog(個人博客地址): www.codersrc.com //@File:C語言教程 - C語言 數組長度計算 //@Time:2021/06/12 08:00 //@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! /******************************************************************************************/#include<stdlib.h> #include<stdio.h>void main() {int len = 0;//int整形數組int arr_int[] = { 1, 2, 3 };len = sizeof(arr_int) / sizeof(arr_int[0]);printf("sizeof(arr_int) : %d\n", len);for (int i = 0; i < len; i++) {printf("%d,", arr_int[i]);}printf("\n");printf("------------------------------------------\n");//float浮點數數組float arr_float[] = { 1.5, 2.6, 3.9 };len = sizeof(arr_float) / sizeof(arr_float[0]);printf("sizeof(arr_float) : %d\n", len);for (int i = 0; i < len; i++) {printf("%f,", arr_float[i]);}printf("\n");printf("------------------------------------------\n");//double浮點數數組double arr_double[] = { 10.2, 23.5, 33.3 };len = sizeof(arr_double) / sizeof(arr_double[0]);printf("sizeof(arr_double) : %d\n", len);for (int i = 0; i < len; i++) {printf("%f,", arr_double[i]);}printf("\n");printf("------------------------------------------\n");//char字符串數組char arr_char[] = "fs123";len = sizeof(arr_char) / sizeof(arr_char[0]);printf("sizeof(arr_char) : %d\n", len);for (int i = 0; i < len; i++) {printf("%c,", arr_char[i]);}printf("\n");system("pause"); } /* 輸出: sizeof(arr_int) : 3 1,2,3, ------------------------------------------ sizeof(arr_float) : 3 1.500000,2.600000,3.900000, ------------------------------------------ sizeof(arr_double) : 3 10.200000,23.500000,33.300000, ------------------------------------------ sizeof(arr_char) : 6 f,s,1,2,3, , 請按任意鍵繼續. . . */最后一個字符串數組雖然只有 5 個元素,但是別忘了,字符串末尾還有一個結束符 \0,所以一共 6 個字符;
二.猜你喜歡
未經允許不得轉載:猿說編程 ? C 語言 數組長度計算
總結
以上是生活随笔為你收集整理的C语言 数组长度计算 - C语言零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言格式控制符/占位符 - C语言零基
- 下一篇: BugkuCTF-Crypto题easy