// // main.c // const关键字,节省内存空间,放在字符表里面, #include <stdio.h> int main(int argc, const char * argv[]) { /* 1.const,指针类型的左边、数据类型和*号之间,指针的指向可以改变,指向的内存空间中的值不能改变。 2.const写在指针的右边(数据类型 * const), 那么意味着指针的指向不可以改变, 但是指针指向的存储空间中的值可以改变 规律: 如果const写在变量名的旁边(int * const p), 那么指针的指向不能变。 其余,指向的内存空间不能改变。 */ const char *name = "lnj"; printf("name = %s\n", name); name = "lk"; printf("name = %s\n", name); int num = 10; int *p = # const int *p = #//内存空间不变(修饰int *,修饰*,意味着存储空间不变) int const *p = #//内存空间不变(修饰*,意味着存储空间不变) int * const p = #//变量里的地址值不变,指向不变(修饰变量p,p的地址值不变) *p = 998; // 修改了指针指向的内存空间中存储的值 printf("&num = %p\n", &num); printf("p = %p\n", p); printf("num = %d\n", num); int age = 30; p = &age;// 修改了指针的指向 printf("&age = %p\n", &age); printf("p = %p\n", p); return 0; } void test() { // const对基本数据类型的作用, 可以让基本数据类型的变量变为常量 // const有两种写法, 1.写在数据类型的左边, 2.写在数据类型的右边(变量名左边) const int num = 10; int const num = 10;//两种写法一样的, printf("num = %i\n", num); num = 55; printf("num = %i\n", num); }
时间: 2024-10-14 21:11:27