Juniorboy 发表于 2020-4-9 10:22:22

指针直接存放字符串

char *a =“snhjsidjsd”;

请问这样到底可不可以,不是说指针只是存放一个地址吗{:5_99:}

qiuyouzhi 发表于 2020-4-9 10:23:27

https://baijiahao.baidu.com/s?id=1604208649221500040&wfr=spider&for=pc

4goodworld 发表于 2020-4-9 10:29:11

你得明白指针的作用是啥,指针是指向一个内存地址
或者说指针是一把钥匙,它能打开一幢房子,房子里面才是真正的字符串
你sizeof 指针看看,它返回的结果一定是一个int类型的数,这个数是一个地址,从这个地址开始,按顺序排放着一堆数据,这个数据整合起来就是“snhjsidjsd”

人造人 发表于 2020-4-9 12:06:43

“snhjsidjsd”
这就是一个地址
字符串就是一个地址

#include <stdio.h>

int main(void) {
    printf("%p\n", "1234");
    printf("%c\n", "abcd");
    return 0;
}

人造人 发表于 2020-4-9 12:07:54

#include <stdio.h>

int main(void) {
    char *num = "1234";
    char *str = "abcd";
    printf("%p\n", num);
    printf("%c\n", str);
    return 0;
}
页: [1]
查看完整版本: 指针直接存放字符串