C++自己注意到的一些问题
来源:互联网 发布:如何做淘宝美工 编辑:程序博客网 时间:2024/06/06 02:06
前几天做一个课程设计 用到了MFC 偶然看见了一篇关于SDK的介绍文章 发现C其实还是可以做一些东西的 打算深入学习一下Windows下的编程 方向是游戏开发 然后拿出了C++的书重新过了一遍 有了一些问题和体会 在这里写下来 供自己以后改正
当学完了编译原理 组成原理 硬件相关的基础知识还有数据结构等课程后 再来看C就有不一样的体会了
1. 赋值和初始化不是一回事
以前没有太在意这个问题 没初始化也无所谓 注意小心使用就可以了 大不了在定义的时候全部赋上初值 不过在使用一个字符数组时发现了了这样的一个问题:
char ptr[] = {"Hello", "MyGirl"} ;
printf("%s",ptr) ;
运行会出现这样的提示: [Error] too many initializers for 'char []' 即给ptr的初始化太多了 但是按照我的设计 这个是用了一点小聪明 我定义一个字符数组ptr 后面的赋值相当于是使用了逗号运算符 实际上想要存储的值是"MyGirl" 前面的"Hello"是没有被引用到的 不过这样写会出现错误 后来想了想可能是这样的:这里的逗号相当于是给 ptr 初始化了"Hello" 然后又赋值了后面的 但是数组是不允许整体赋值的 所以出现了错误
改成指针数组来引用这两个 ptr:
char* ptr[] = {"Hello", "MyGirl"} ;printf("%s",ptr[0]) ;运行 没有任何问题 也就是说对于 ptr 我可以初始化一个值给它 但是不能直接赋值 这样会出错
C 是很强大的 但它的的强大很大程度上来自它支持抽象程序设计 要学会用 C++ 高效地编程 只是掌握句法和语义是远远不够的 必须能快速地写出安全 而且性能可与 C 语言低层程序相媲美的程序才行 看来自己还需要学习很多才行
阅读全文
1 0
- C++自己注意到的一些问题
- 现在注意到自己的问题,还不晚!!
- 一些不常被注意到的Java问题
- 写网页事注意到的一些小问题
- apache服务器搭建过程中需要注意到的一些问题
- oracle的一些没注意到的细节
- 近来看和注意到的一些书
- 自己总结的一些C/C++语言基础问题
- 使用CAtransition类需要注意到的问题
- resultSet没注意到的一点问题
- make时注意到的小问题
- highcharts 一个不容易注意到的细节问题
- 自己遇到的一些问题
- 自己的一些小问题
- 自己碰到的一些问题
- 帮你发现一些你未曾注意到的好书
- IOS 里面你没有注意到的一些小知识
- Android hdpi,xhdpi,xxhdpi一些你没注意到的事
- Java基础[7]异常,断言,日志
- QT更改窗口名称 & QT生成多个窗口
- Gobject简介
- 秒杀模块碎碎念笔记(3)-WEB层
- ajax发送到action自动解析格式
- C++自己注意到的一些问题
- 一般图最大匹配的匈牙利算法
- 百练noi 9271:奶牛散步
- Spark SQL笔记——技术点汇总
- Android端M3U8视频下载管理器----M3U8Manger
- 自己设计的四人手机游戏
- [PAT乙级]1008. 数组元素循环右移问题 (20)
- 高仿QQ中的时间选择器
- 九九乘法表的不同表现形式;