前言
變量:就是給內(nèi)存地址取一個別名;
1. 如何文檔閱讀?
下邊通過舉一個示例,生成隨機數(shù)來看下
2. 隨機數(shù)代碼如下
#include<stdio.h>
#include <stdlib.h>
#include <time.h> // 這3個都是導(dǎo)包
// 生成隨機數(shù)
void main(){
// 解決方式:初始化發(fā)生器 ,每次發(fā)生器都是當(dāng)前時間
// time表示每次運行時,發(fā)生器都是當(dāng)前時間
srand((unsigned)time(NULL));
// 生成10個 100以內(nèi)的隨機數(shù)
// 可以隨機,但是每次運行的隨機數(shù)都一致
int i;
for (i = 0; i < 10;i++){
printf("%d\n" , rand() % 100);
}
getchar();
}
上邊代碼分析:
如果直接用下邊代碼實現(xiàn),可以生成隨機數(shù),但是每次運行結(jié)果都一樣
int i;
for (i = 0; i < 10;i++){
printf("%d\n" , rand() % 100);
}
解決方式:初始化發(fā)生器,每次發(fā)生器都是當(dāng)前時間,time表示每次運行時,發(fā)生器都是當(dāng)前時間,
給上邊代碼添加這個方法就可以:
srand((unsigned)time(NULL));
3. 隨機數(shù)使用場景
使用場景:在C層 生成秘鑰:
秘鑰其實就是 把 java層代碼變成 .so庫,這樣就看不到 java層的代碼了。生成秘鑰就需要使用 隨機數(shù),直接用 rand不行的話,就需要給上邊加上srand,用 so生成秘鑰之后就更加安全。