C语言指针与字符串,指针与数组,const修饰符
来源:互联网 发布:nginx 修改root路径 编辑:程序博客网 时间:2024/04/28 15:53
#include <stdio.h>
/*
1、使用字符数组来保存的字符串是保存栈里的,保存栈里面东西是可读可写,所有我们可以改变里面的字符
当把一个字符串常量赋值一个字符数组的时候,那么它会把字符串常量中的没有字符都放到字符数组里面
2、使用字符指针来保存字符串,它保存的是字符串常量地址,常量区是只读的,所以我们不可以修改字符串中的字符
*/
int main()
{
// 1、使用字符数组
char names[] = "frjj";
names[0] = 's';
names[1] = 'x';
printf("%s\n",names);
printf("names = %p\n",names);
// 2、使用指针变量
const char *name = "frjj";
printf("name = %p\n",name);
{
// 1、const修饰普通变量,在定义普通变量的时候,在普通变量名称前面加上const说明这个变量是只读的
const int a = 10;
int const b = 20;
// 2、const修饰指针变量
// 1、如果const在*前面的,说明指针所指向的存储空间的是只读的,我们不可以修改指针所指向的存储空间
int c = 10;
// const int *p = &c;
int const *p = &c;
// 2、如果const在*后面的说明,这个指针变量本身是只读的,那么就不可以修改这个指针的指向
int * const pp = &c;
return 0;
}
int test1()
{
// 指向数组的指针:它是一个指针,这个指针用来指向数组的
int nums[3][3] = {{1,3,5},{2,4,8},{11,1,2}};
int ns[] = {1,2};
// 怎么定义一个指向数组的指针
// 1、定义一个这样的数组
// 2、给数组名加上一个括号
// 3、在数组名称前面加上一个*
int (*np)[3];
np = nums;
// 1、它可以使用二维数组访问里面元素的方式去访问
printf("%d\n",np[1][2]);
// 2、通过指针的方式
printf("%d\n",*(*(np+1)+2));
return 0;
}
void test()
{
// 指针数组:存放指针数组
int nums[5];
int a =10;
int b = 20;
int c = 30;
int *numsp[3] = {&a,&b,&c};
int len = sizeof(numsp) / sizeof(int *);
// for (int i =0; i < len; i++) {
// printf("%d\n",(*numsp[i])++);
// }
*numsp[0] = 60;
printf("a = %d\n",a);
*numsp[0] = *numsp[0] + 1;
(*numsp[0])++;
printf("a = %d\n",a);
}
- C语言指针与字符串,指针与数组,const修饰符
- c语言的指针、数组和常量修饰符const
- const修饰符 const与指针
- C语言const与指针
- C语言字符串、数组与指针结合
- C语言字符串指针---与数组0811
- 指针与常量修饰符const
- 引用、指针与const修饰符总结
- C语言:指针数组与数组指针
- C语言指针数组与数组指针
- C语言指针数组与数组指针
- 指针,数组与const
- C语言指针-----指针与数组
- C语言指针详解-----数组与指针
- C语言指针-----指针与字符串
- C语言指针与数组
- C语言 指针与数组
- C语言指针与数组
- C++ 获取当前程序运行程序所在路径
- android 获取APK的包名 版本号 名称,图标等信息
- Swift UILabel的使用
- Linux 环境下Oracle11g安装图文详细教程
- Android UI设计--ListView内嵌CheckBox的多选和删除
- C语言指针与字符串,指针与数组,const修饰符
- 建模技巧总结
- device_create ()详解
- CAB 写inf文件
- opencv split和merge操作
- hdu 2063 过山车(二分最大匹配)
- 《春晓》 孟浩然
- HDU 1312 Red and Black (BFS)
- 【c++文本文件操作之查找】mac系统xcode编译环境