<span style="font-family: arial, 'courier new', courier, 宋体, monospace; white-space: pre-wrap;">本人是以C#为入门语言,现在开始学习数字图像处理,正在学习c语言,在这方面还是小白,所以打算把遇到的问题进行简单的罗列,并无先后主次之分,只是方便以后查找。</span>

1.关于void exit(int);
作用是无条件的退出程序,括号里可以是任何整型常量,作用都是一样的;
你可以根据习惯设置不同的值表示不同原因的退出,
例如exit(0)可以在正常退出此程序时使用,而exit(1)用来代表由于错误导致的结束.

2.int main(int argc,char *argv[])详解
  部分内容来自http://www.cnblogs.com/avril/archive/2010/03/22/1691477.html
  用于用户在cmd命令执行程序中键入命令行来调用程序时,这样使用通常情况下需要向程序传递参数
  argc记录了用户在运行程序的命令行中输入的参数的个数。
   程序示例一:
   int   main(int   argc,   char*   argv[])     {     int   i;     for   (i   =   0;   i<argc;   i++)     cout<<argv[i]<<endl;     cin>>i;     return   0;     }     执行时在cmd窗口中敲入     F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE   aaaa   bbb   ccc   ddd     输出如下:     F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE     aaaa     bbb     ccc     ddd
   程序示例二:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h> <span style="font-size:14px;">int main(int argc, char *argv[])
{IplImage* img = 0; int height,width,step,channels;uchar *data;int i,j,k; if(argc<2){printf("Usage: main <image-file-name>\n\7");exit(0);} // load an image  img=cvLoadImage(argv[1]);if(!img){printf("Could not load image file: %s\n",argv[1]);exit(0);} // get the image dataheight    = img->height;width     = img->width;step      = img->widthStep;channels  = img->nChannels;data      = (uchar *)img->imageData;printf("Processing a %dx%d image with %d channels\n",height,width,channels); // create a windowcvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); cvMoveWindow("mainWin", 100, 100); // invert the image// 相当于 cvNot(img);// IplImage *pDstImg = cvCreateImage(cvGetSize(img),img->depth,img->nChannels);// cvNot(img, pDstImg);for(i=0;i<height;i++) for(j=0;j<width;j++) for(k=0;k<channels;k++)data[i*step+j*channels+k]=255-data[i*step+j*channels+k]; // show the imagecvShowImage("mainWin", img ); // wait for a keycvWaitKey(0); // release the imagecvReleaseImage(&img );return 0;
}</span>
在CMD中输入程序地址及图片所在位置(注意不是相对位置),例如:
该程序从文件中读入一幅图像,将之反色,然后显示出来. 来源:OpenCV中文网
  argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数是命令行后面跟的用户输入的参数
C:\Users\Administrator\Desktop\lena\x64\Debug\lena.exe  C:\Users\Administrator\Desktop\lena\x64\Debug\lena.bmp
运行结果如图:
3.union的使用
#include<iostream.h>
class UN
{union
  {int ivalue;float fvalue;}
};
void main()
{
  UN a;a.ivalue=2;cout<<a.ivalue<<endl;a.fvalue=1.2;cout<<a.fvalue<<endl;cout<<a.ivalue<<endl;
}
union就是里面的成员共用同一个存储空间,这个存储空间的大小与union中占用空间最大的一个成员相同。
在这个例子中,union占用的空间和float类型占用的空间相同。
union中虽然可以有不同的变量,但同一时刻只能有一个值。union的左右主要是节省内存空间,但现在内存都比较大,所以在一般的编程中很少用到,而且处理不好容易出错,建议非特殊情况不要使用。上面程序中,第一句
cout<<a.ivalue<<endl;
显示的是2
第二句
cout<<a.fvalue<<endl;
显示的是1.2
第三句
cout<<a.ivalue<<endl;
显示的是1
												

初学C遇到的一些知识点汇总相关推荐

  1. 原生 遍历_细品原生JS从初级到高级知识点汇总(三)

    作者:火狼1 转发链接:https://juejin.im/post/5daeefc8e51d4524f007fb15 目录 细品原生JS从初级到高级知识点汇总(一) 细品原生JS从初级到高级知识点汇 ...

  2. mysql 事物状态有几种_MySQL知识点汇总:亿级高并发数据库运转原理大公开!

    - 点击上方"中国统计网"订阅我吧!- 做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离... 数据库的使用,是开发人员的基本功,对 ...

  3. java基础知识大全,java 基础知识点汇总

    java 基础知识点汇总 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个Strin ...

  4. python拷贝是什么知识点_python闭包、深浅拷贝、垃圾回收、with语句知识点汇总...

    1.1 闭包 1.闭包概念 1. 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用,这样就构成了一个闭包 2. 一般情况下,在我们认知当中,如果一个函数 ...

  5. list python 访问 键值对_基础|Python常用知识点汇总(中)

    字符串字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串.1.创建字符串 str1 = 'Hello World!' str2 = "Hello W ...

  6. javaSE知识点汇总

    javaSE知识点汇总 Java基础知识精华部分   写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实 ...

  7. php知识点汇总与解答_PHP操作员能力倾向问题与解答

    php知识点汇总与解答 This section contains Aptitude Questions and Answers on PHP Operators. 本节包含有关PHP运算符的 Apt ...

  8. ES6知识点汇总(全)

    ES6知识点汇总(全) 近期在整理ES6相关开发文档,针对ES6新的知识点,以问答形式整理一个全面知识和问题汇总. 一.问:ES6是什么,为什么要学习它,不学习ES6会怎么样? 答: ES6是新一代的 ...

  9. 计算机知识点汇总职高,计算机辅导(知识点汇总) - 慈溪职高 网站首页.doc

    计算机辅导(知识点汇总) - 慈溪职高 网站首页 知识点汇总 第一章 计算机基础知识(单选15分) 第一台计算机:1946年ENIAC,采用电子管 划分计算机时代的标准:构成元件 第一代(1946-1 ...

最新文章

  1. C/C++结构体四字节数据对齐
  2. angular 4使用jquery 第三方插件库
  3. python numpy np.argsort()(返回将对数组进行排序的索引)(不懂区别?)
  4. Linux远程传输文件免密码
  5. Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类
  6. ABAP和Java SpringBoot的单元测试
  7. mockito mock void方法_Spock如何模拟抽象类方法
  8. 拿去用,常见几种加密算法的Python实现
  9. android Baseadapter 和 ViewHolder的使用
  10. UWB定位记录二(DWM1000模组介绍)
  11. 万物皆可秒——淘宝秒杀Python脚本,扫货618,备战双11!
  12. 2020-09-07(基于控制台的DVD管理系统)
  13. PSC-Net: Learning Part Spatial Co-occurrence for Occluded Pedestrian Detection 用于遮挡行人检测的部分空间共现网络 翻译
  14. 联想电脑白屏了按哪个键可以修复?
  15. 论机器学习中数据的重要性
  16. python派森编程软件_《派森》(Python)
  17. (一)OSPF协议 及ospf与RIP的比较
  18. uboot----getenv_IPaddr代码解析
  19. socket通信函数
  20. java开发工具还有那些?

热门文章

  1. 论文阅读课1-Attention Guided Graph Convolutional Networks for Relation Extraction(关系抽取,图卷积,ACL2019,n元)
  2. 2 操作系统第一章 操作系统体系结构、中断和异常、系统调用
  3. 菜鸟的Xamarin.Forms前行之路——绪言
  4. Nim游戏(初谈博弈)
  5. JavaScript(js)/上
  6. 内存对齐分配策略(含位域模式)
  7. NSNumber, NSValue的使用
  8. Android应用程序变量
  9. 从通用分页存储过程[ROWCOUNT方式]抽出适合自己需求的分页过程
  10. Linux基础入门(一)