C說話平安編碼之數值中的sizeof操作符。本站提示廣大學習愛好者:(C說話平安編碼之數值中的sizeof操作符)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話平安編碼之數值中的sizeof操作符正文
平日來講獲得數組的長度時不要對指針運用sizeof操作符。
現來看看上面這段代碼:
void clear(int array[]) { for(size_t i = 0; i < sizeof(array) / sizeof(array[0]); i++) { array[i] = 0; } } void dowork(void) { int dis[12]; clear(dis); /*...*/ }
clear()應用sizeof(array) / sizeof(array[0])這類用法肯定這個數組的元素數目,但因為array是一個形參,是以它是指針類型,sizeof(array) = sizeof(int *) = 4 (32位OS)
當sizeof操作符運用於聲明為數組或函數類型的形參時,它會發生經由調劑的(指針)類型的長度
對此成績的處理計劃以下:
void clear(int array[], size_t len) { for(size_t i = 0; i < len; i++) { array[i] = 0; } } void dowork(void) { int dis[12]; clear(dis, sizeof(dis) / sizeof(dis[0])); /*...*/ }s></returns> public static string GetRandomValue() { Random Seed = new Random(); string RandomVaule = Seed.Next(1, int.MaxValue).ToString(); return RandomVaule; } /// <summary> /// 哈希加密一個字符串,sharejs.com /// </summary> /// <param name="Security"></param> /// <returns></returns> public static string HashEncoding(string Security) { byte[] Value; UnicodeEncoding Code = new UnicodeEncoding(); byte[] Message = Code.GetBytes(Security); SHA512Managed Arithmetic = new SHA512Managed(); Value = Arithmetic.ComputeHash(Message); Security = ""; foreach(byte o in Value) { Security += (int) o + "O"; } return Security; } } }
願望本文所述對年夜家的C#法式設計有所贊助。