C语言 -- 指针与字符串的使用

tech2023-08-21  90

/* 定义字符串的两种方式: 1.利用数组 char name[] = "it"; 特点:字符串里的字符是可以修改的 使用场合:字符串的内容需要经常修改 2.利用指针 char *name2 = "it"; 特点:字符串其实是一个常量字符串,里面的字符不能修改 使用场合:字符串的内容不需要修改,而且这个字符经常使用 */ //字符串变量,存放在栈区 //"it" == 'i' + 't' + '\0' char name[] = "it"; name[0] = 'T';//在内存中ffc1为 printf("name = %s\n",name);//输出结果为:name = Tt /* 字节 数组 内容 ffc0 ffc1 name2 i ffc2 name2 t ffc3 name2 \0 */ //指针变量 name2 指向了字符串的首字符 char *name2 = "it"; //*name2 = 'T';//这种操作是错误的,运行报错 printf("name = %s\n",name2);// //指针数组(字符串数组) char *names[5] = {"jack","rose","jake"}; //二维字符数组(字符串数组) char names2[2][10] = {"jack","rose"};

补充内容:

1.栈: 存放函数内的局部变量,形参和函数返回值 2.堆: 对象 3.静态区(全局区): 4.常量区: 存放一些常量字符串,常量区的内容无法修改,而且会缓存起来,如果下次又用到了,会返回同一个常量 5.代码区

最新回复(0)