c语言字符串指针
2024-08-24 00:56:12
最近正在看c语言,在指针这块遇到了麻烦,特别是字符串指针这块,简单记录下。
字符串指针
void main()
{
char *p = "tasklist"; printf("%d\n", sizeof(p)); //4 ,指针4个字节
printf("%d\n", sizeof("tasklist")); //9个字符 tasklist\0
printf("%d\n", sizeof(*p));//1 //p存储的是常量字符串 "tasklist"的首地址,即t字符的地址
//*p = '1' //无法赋值, tasklist是指针,指针是常量无法赋值。 printf("%s\n",p); //tasklist p是指针变量的首地址
printf("%c\n",*p);//t 所以取内容 *p => 首地址的值 t
printf("%c\n",*(p+));//a 同上
printf("%c\n",*(p+));//s 同上 //printf("%x\n",p);
int *s = p; //将首地址 赋给 指针变量s
printf("%c",*s); //t ,即取地址值 }
字符串指针数组
//字符串指针数组
void main2()
{
//指针数组p 存储的元素是指针类型,即top,ll,ls都为指针类型(常量无法赋值)
char *p[] = {"top","ll","ls"};
int l = sizeof(p) / sizeof(char *);
//printf("%d", sizeof(p) / sizeof(char *));//求数组多少元素
int i = ; for (;i < l; i++) {
//i=1为例 , p[i]为top 指向 top的首地址。即t字符的地址
printf("%c\n",*(p[i])); // 打印出字符t
printf("%x,%s\n",p[i],p[i]);
} system("pause"); }
最新文章
- MDK5 STM32编译问题汇总
- Android Fragment 真正的完全解析(下)
- Asp.Net WebService 使用后来管理系统对接口方法进行公开控制
- Android中的四种动画(一)
- Nginx下TIME_WAIT过多的调优
- yii使用MongoDB作为数据库服务软件[win7环境下](2)
- cobbler
- boost: tcp client sample
- nodejs ssh2
- HDU-4631 Sad Love Story 平面最近点对
- MVC上传文件目录至共享目录
- 复杂事件处理引擎—Esper参考(事件部分)
- 04747_Java语言程序设计(一)_第2章_运算和语句
- 分布式cookie-session的实现(spring-session)
- C# groupby 应用小技巧
- elk的一些零碎知识
- GNOME禁用GDM中night-light功能
- 基于Asp.net C#实现HTML转图片(网页快照)
- 【CF662C】Binary Table(FWT)
- time series review