关于指针未初始化前乱指的问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 04:32:27
有个问题
指针在初始化之前是乱指的
那么能不能用这个性质生成随机数
不知道这个乱是不是随机的意思

int *a;
printf("%d\n",a);
不过我在试的时候用循环企图生成10个随机数
void main{
int d;
for(d=1;d<11;d=d+1){
int *a;
printf("%d\n",a);
}
但是每次生成的都一样
但是如果这样
void main{
int* d;
printf("%d\n",d);
int *a;
printf("%d\n",a);
}
这两个数就就不一样了
好像不是随机的
怎么解释
请指教

首先:未初始化的指针的指向不是随机的,而是不同编译系统有不同的默认值或者处理方法.

其次:int *a;a并不是指针所指的内容,而是变量a所占内存的内容.它由内存的使用历史决定,也不是随机的!

然后:连续定义变量的话,他们的内存位置是连续的,更不是随机的!