<p>
废话不多说 直接贴代码,,,其实自定义结构体数据类型与基本数据类型 定义的变量,都是一个意思,,只是自己钻了牛角尖,老是绕不回来。。</p><p>这次工作中 又出现相同的问题,,决定一探究竟,彻底搞明白。。好了 直接贴代码,,代码中的注释很明白,,,,,</p>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct tag_stu{
int num;
int add;
}STU;
/*
为num和add分配了内存,所以其存在内存地址值,也可输出num(0018FEEC)add(0018FEF0),相差4.
由于未初始化,他们的输出值是 随机数。
*/
void var_no_init()
{
STU stu;
printf("非指针变量未初始化:\n");
printf("num(%p) = %d\nadd(%p) = %d\n",&stu.num,stu.num,&stu.add,stu.add);
}
/*
程序可输出地址,但为乱码,输出值地址值为num(CCCCCCCC),add(CCCCCCD0),相差依然为4.
程序执行到输出 值得时候,会崩溃。这是因为指针变量未初始化,指向了一个无权(法)访问的指针,所以崩溃。
/**********************************************/
//这块很有意思ÿ