专栏中心

EEPW首页 > 专栏 > MPLAB C18学习 指向字符串的指针

MPLAB C18学习 指向字符串的指针

发布人:0750long 时间:2009-07-25 来源:工程师 发布文章
MPLAB C18学习 指向字符串的指针

 

 

unsigned char * p = "EDNChina";

这样表达,p不知指向了何处;

unsigned char p[] = "EDNChina";

这样就没问题了。

unsigned char String[] = "EDNChina";
unsigned char *p = String;

这样也没问题。

这是为何?

 


 

可能原因,C18把常量字符串全部储存在程序内存区,默认的指针是指向数据储存器的,和指向程序存储器的不兼容。测试程序:

#include <stdio.h>

#pragma config WDT = OFF

void main(void)
{
    unsigned char *p1 = "1";
    rom unsigned char *p2 = "2";
    printf("aa %c \n", *p1);
    printf("bb %c \n", *p2);
    while(1);
}

结果:

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

NVIDIA DGX Spark 采用联发科共同设计的 GB10 超级芯片

ASML警告中国销量下降或加剧26年增长担忧

EDA/PCB 2025-10-16

MPS人形机器人解决方案: “芯片+算法+系统”三位一体的创新驱控

机器人 2025-10-16

IEEE好文分享:3D打印食物:未来美食还是黑暗料理?

英特尔的 Panther Lake 崭露头角——18A 能否推动先进制程卷土重来?

体积更小且支持大功率!ROHM开始量产TOLL封装的SiC MOSFET

米尔电子获全志科技生态认证,共推工业智能化升级

“三高”并举,ICCAD Expo 2025值得期待!

2025-10-16

3D打印食物:未来美食还是黑暗料理?

PLD工具ABEL5.10

资源下载 2007-02-16
更多 培训课堂
更多 焦点
更多 视频

技术专区