指针用之前要初始化
2010-04-02 11:25
162 查看
昨天调试一个ADS下的串口程序,发现了一个感觉很脸红的知识点,C指针学的还是不好啊。
C指针用之前要对其进行初始化,要不然就会有问题。
那个串口的流程是先等待用户从键入一个字符,然后程序将其及时发送出去,并存到一个指针指向的地址去,调试时候发现前一部分是对的,但后一步用户键入的字符并没有存到指向的地址,后来发现是根本没有地址,原因在于没有进行初始化,没有给它赋一个地址。
//下面这两句用来接受用户键入的字符
//下面是函数的原型
接收完字符以后,
错误就在于string没有初始化一个地址。所以初始化就行了,就能把char c存起来。然后再myUart_Send(string)就能行了
C指针用之前要对其进行初始化,要不然就会有问题。
那个串口的流程是先等待用户从键入一个字符,然后程序将其及时发送出去,并存到一个指针指向的地址去,调试时候发现前一部分是对的,但后一步用户键入的字符并没有存到指向的地址,后来发现是根本没有地址,原因在于没有进行初始化,没有给它赋一个地址。
//下面这两句用来接受用户键入的字符
char c; c = myUart_ReceiveByte()
//下面是函数的原型
char myUart_ReceiveByte(void) { if(UartNum==0) { while(!(rUTRSTAT0 & 0x1)); //Receive data ready return RdURXH0(); } else if(UartNum==1) { while(!(rUTRSTAT1 & 0x1)); //Receive data ready return RdURXH1(); } return 0; }
接收完字符以后,
*string++ = c; //将该字符存到指针所指向的地址去。 //然后再将该字符显示到终端上 myUart_SendByte(c); //c
错误就在于string没有初始化一个地址。所以初始化就行了,就能把char c存起来。然后再myUart_Send(string)就能行了
相关文章推荐
- C++类对象创建过程(分配空间、赋值和初始化、对象初始化顺序、虚函数表指针)
- C/C++数据结构中利用指针的三种初始化方式
- 关于指针初始化的问题 - 回复"下雨天2"
- debug下指针没被初始化
- 未初始化的指针
- 关于C++项目指针对象未被初始化的问题(0xcdcdcd)
- 漫步IOS--指针细节2:*与&、指针初始化问题、指针数组和数组指针
- C语言中指针初始化和常规运算
- 关于数据类型与指针的小笔记--初始化问题&&数组
- 20140307 引用赋值、类的初始化、指针数组、数组指针、new
- c语言指针的初始化赋值
- C语言指针的初始化和赋值
- struct的初始化,拷贝及指针成员的使用技巧
- 关于C++项目指针对象未被初始化的问题(0xcdcdcd)
- 指针的初始化微程序
- C语言中指针的初始化和赋值
- 二维数组中的指针加法计算 与 初始化
- 指针数组的初始化
- 结构体中含有指针如何初始化
- 指针变量初始化