闲鱼安乐 2022-09-11 13:51 采纳率: 75%
浏览 11
已结题

c语言字符串与指针问题解答

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
//指针与字符串
char a[]="helloworld";//定义一个字符数组,字符数组内容为helloworld\0
char *p=a;
printf("%s\n",p);

p="abcdef";//字符串常量存文字变量区,“”在使用时,取的是字符串常量首元素地址
//文字常量区内容不能改变
printf("%s\n",p);

printf("%d\n", sizeof(p));//8
printf("%d\n", sizeof("abcdef"));//7

printf("%d\n", strlen(p));//7
printf("%d\n", strlen("abcdef"));//6


return 0;

}
请问 printf("%d\n", sizeof(p));//8 这句语句执行结果为什么是8呢

  • 写回答

3条回答 默认 最新

  • _GX_ 2022-09-11 14:03
    关注

    pchar*类型指针,其大小等于架构字长,即在64位程序中是8个字节,在32位程序中是4个字节

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月19日
  • 已采纳回答 9月11日
  • 创建了问题 9月11日