struct student
{
int id;
char name[64];
};
void change_stu(struct student *s)
{
s->id = 10;
}
void change_stu2(const struct student *s)
{ //指向常结构体的指针 指针常量
//s->id = 10;此时s所指向的区域是一个常量 不能够被修改
//但是内存空间可以被修改
struct student s2;
s = &s2;
}
void change_stu3(struct student *const s)
{
s->id = 10;
struct student s2;
//s = &s2; //s是一个常量指针 s的内存空间不能被修改
}
void change_stu4(const struct student *const s)
{
//s->id = 10; 都不能被修改
//struct student s2;
//s = &s2;// s是一个
{
int id;
char name[64];
};
void change_stu(struct student *s)
{
s->id = 10;
}
void change_stu2(const struct student *s)
{ //指向常结构体的指针 指针常量
//s->id = 10;此时s所指向的区域是一个常量 不能够被修改
//但是内存空间可以被修改
struct student s2;
s = &s2;
}
void change_stu3(struct student *const s)
{
s->id = 10;
struct student s2;
//s = &s2; //s是一个常量指针 s的内存空间不能被修改
}
void change_stu4(const struct student *const s)
{
//s->id = 10; 都不能被修改
//struct student s2;
//s = &s2;// s是一个
}
void test6() {
const int a = 10;//c++的const确实对a起了保护作用 不能通过指针间接赋值概念a的值
int *p = (int*)&a;//当c++ 编译器 发现对一个const的常量符号取地址
*p = 20; //c语言中可以通过指针间接赋值改变const 变量
//*p是改变的临时的变量 而不是 常量a
printf("a = %d\n", a);
}