C/C++学习
文章平均质量分 79
cymx2002
这个作者很懒,什么都没留下…
展开
-
深入理解指针
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。指针也是一种数据类型,并且也是有值的。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int *ptr; (2)char *ptr; (3)int **ptr; (4)int (*ptr)[3]; (5)int *(*ptr)[4]; 1。 指针的类型。 从语法的角度看,你只要把指针声明语句里的指原创 2010-10-18 22:33:00 · 136 阅读 · 0 评论 -
不定参数
今天在查Linux C函数库时候,一下子翻到了附录,于是看到了不定参数几个字。感觉挺有意思的,而且以前也看到很多不定参数的函数的原型,当时很是不解,很惊叹在不知道函数参数和个数的情况下还能使用。因为时间问题当时也没去了解,现在是该了解的时候了。其实我们在写C程序的时候,就不知不觉的用到了不定参数,只是不知道的而已。这个函数就是printf()!这个函数的原型是:int printf(const char *format[, argument]...);这个函数的返回类型是int,当它不输出任何字符时返回0。原创 2010-10-18 22:34:00 · 247 阅读 · 0 评论 -
C语言难点分析整理
这篇文章主要是介绍一些在复习C语言的过程中笔者个人认为比较重点的地方,较好的掌握这些重点会使对C的运用更加得心应手。此外会包括一些细节、易错的地方。涉及的主要内容包括:变量的作用域和存储类别、函数、数组、字符串、指针、文件、链表等。一些最基本的概念在此就不多作解释了,仅希望能有只言片语给同是C语言初学者的学习和上机过程提供一点点的帮助。<br /><br />变量作用域和存储类别:<br />了解了基本的变量类型后,我们要进一步了解它的存储类别和变量作用域问题。变量类别子类别局部变量静态变量(离开函数,变量原创 2010-10-19 21:45:00 · 210 阅读 · 0 评论 -
C语言预处理之条件编译
这是stdio.h的头几行:#if _MSC_VER > 1000<br />#pragma once<br />#endif#ifndef _INC_STDIO<br />#define _INC_STDIO#if !defined(_WIN32) && !defined(_MAC)<br />#error ERROR: Only Mac or Win32 targets supported!<br />#endif... 我们知道条件编译有好几种形式:1. 第一种形式: <br />#i原创 2010-10-19 21:19:00 · 433 阅读 · 0 评论 -
数组与指针总结
指向数组元素的指针:<br />所谓数组元素的指针就是数组元素的地址。<br />首先定义一个数组:<br />int a[10];<br />再定义一个指针:<br />int *p;<br />将数组的首地址赋给指针p有两种方法:<br />p = a;//数组名代表数组中第一个元素(即序号为0的元素)的地址<br />p = &a[0];//使用取地址运算符获得数组第一个元素的地址<br />这两种方法是等价的。<br />也可以在定义指针变量时初始化:<br />int *p = a;//这里的*表原创 2010-10-18 22:30:00 · 302 阅读 · 0 评论 -
再论不定参数的问题
<br />今天自己看了一下不定参数的文章,又深入理解了一下,总结如下:<br /> <br />#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )<br />typedef char * va_list;<br />#define va_start(ap,v) ( ap = (va_list)&v + _INTSIZEOF(v) )<br />#define va_arg(ap,t) ( *原创 2010-10-19 13:59:00 · 193 阅读 · 0 评论