A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© nsswift 中级黑马   /  2015-5-24 09:00  /  1410 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 nsswift 于 2015-6-12 17:24 编辑

C语言和C++中我们都使用#include来包含头文件,但是这样我们容易一个头文件可能被包含多次,这样就需要我们用#ifndef,#end这样的宏定义来避免文件重复引用的问题。
       Objective-C中则使用了#import来包含头文件,这样一个头文件就只能包含一次,直接避免了c语言和c++中使用#include文件重复引用。
       @class和#import 的区别:

        #import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这个类是如何定义的,暂时不用考虑。
       比如在.h文件中我们只需要知道被引用的类的名称就可以了,不需要调用实体变量和方法,所以.h文件一般只需要@class来声明这个名称是类的名称,头文件中使用@class不仅效率高(比如类文件更改其他包含这个类的都需要重新加载),同事还可以解决循环引用的问题。而在.m文件里边因为会用到这个引用类的内部的实体变量和方法,所以需要使用#import来包含这个被引用类的头文件。

17 个回复

倒序浏览
不错,菜鸟前来学习
回复 使用道具 举报
#include<stdlib.h>你这个头文件用到那个函数了?
回复 使用道具 举报
#include<stdlib.h>你这个头文件用到哪个函数了?
回复 使用道具 举报
649678291 发表于 2015-5-24 10:33
#include你这个头文件用到那个函数了?

你好,我做调试的时候最后有         system("pause");
我一般喜欢在程序最后加上这个,执行完以后会停在那里省去做断点
我发的时候觉得这句不影响算法就删掉了,       
system("pause");这个用到了#include<stdlib.h>
回复 使用道具 举报
nsswift 发表于 2015-5-24 10:46
你好,我做调试的时候最后有         system("pause");
我一般喜欢在程序最后加上这个,执行完以后会停在那里省 ...

学C语言最好不要用Windows做的东西
回复 使用道具 举报
最后输出是应该写为——printf("1~100中所有7的倍数的个数为%d。\n", count);——这样,只输出count的值,用户怎么知道输出个这玩意儿是什么意思啊!用户体验非常重要的,要从小的细节开始注意!
回复 使用道具 举报
支持一下  这道题还可以再加点难度,包含7的,能被7整除的,楼主可以试下
回复 使用道具 举报
mony 中级黑马 2015-5-24 17:50:19
9#
100/7 不就是结果么   {:3_50:}
回复 使用道具 举报
不错,多分享.
回复 使用道具 举报
不错思路 值得学习
回复 使用道具 举报
基础测试里的题吧少年
回复 使用道具 举报
for(int i=0;i<=100;i++)  这里应该是for(int i=1;i<=100;i++)吧?
回复 使用道具 举报
菜鸟报道!
回复 使用道具 举报
看看学习下
回复 使用道具 举报
学习了,大家很努力嘛
回复 使用道具 举报
#include<stdlib.h>

这个头文件没有用到吧?
回复 使用道具 举报
都是菜鸟。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马