C
大川搬砖
这个作者很懒,什么都没留下…
展开
-
C中对字符串和指针的理解
最近写程序的时候一直在用C,这过程中也发现了自己不少问题。#include main(){char ch[9];char *q;scanf("%s",ch);q = ch + 2;q[3] = 'y';printf("q = %s\n\n",q);printf("%s\n",ch);}在上面的代码中,如果改变q数组(暂且成为数组)中的某个值,那么原创 2012-03-23 15:47:34 · 464 阅读 · 0 评论 -
C:宏定义的影响范围
做项目的时候发现,把头文件中的 printf 相关宏定义去掉以后,设备照常能够通过串口输出内容。为此,在 windows 下用vs2010写了一个最简单的helloworld的测试程序。1. 首先用 vs2010 将输出 "helloworld" 的程序做成一个库。 define_test_lib.h#ifndef __DEFINE_TEST_LIB_H__#define __D...原创 2014-01-14 09:47:39 · 1914 阅读 · 0 评论 -
C语言使用过程中遇到的问题
1、如果想要通过函数修改全局变量的值,那么形参不能和全局变量的名字相同,否则达不到修改的目的。在这里可以使用指针。2、今天在linux(fedora)下写操作文件的程序,但是文件中第一次写入时有数据,在以后就没有数据了,总是找不到原因。头的一句话惊醒我了,我没有关闭文件。网上文章说,linux下不用关闭文件,系统会自动将缓冲区中的数据写入到文件中。但个人觉得还是写上好,万一遇上今天的情况那不就原创 2012-08-23 15:08:37 · 1295 阅读 · 0 评论 -
C:include
最近用到了FreeType,稍微看了一点源码,在初始化模块的时候看到了一个include的小技巧。我在vs2010上面写了一个小例子。include_file_function.h文件#ifndef __INCLUDE_FILE_FUNCTION_H__#define __INCLUDE_FILE_FUNTIONG_H__FORCECHANGE(a)FORCECHANGE(b...原创 2013-02-26 09:24:19 · 499 阅读 · 0 评论 -
C中Static的作用详述
原文地址:http://www.dz3w.com/mcu/clanguage/050409//C272.htm在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另转载 2012-07-19 07:59:54 · 680 阅读 · 0 评论 -
C语言宏定义技巧(常用宏定义)
原址:http://www.cnblogs.com/sdphome/archive/2011/03/27/1997258.html写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_转载 2012-11-15 09:14:56 · 687 阅读 · 0 评论 -
内存对齐问题
原址:http://blog.csdn.net/c395565746c/article/details/5996026 结构体和共用体的内存分配是C语言的一个难点,也是面试题中的热点。编译器是按照什么样的原则进行对齐的?先让我们看四个重要的基本概念:1.数据类型自身的对齐值: 对于char型数据,其自身对齐值为1,对于short型为2,对于int,float类型,其自身转载 2012-08-14 16:29:23 · 611 阅读 · 0 评论 -
linux socket 编程(C语言)
原址:http://blog.csdn.net/piaojun_pj/article/details/5920888#comments最近看了一些网络编程的书籍,一直以来总感觉网络编程神秘莫测,其实网络编程入门还是很容易学的,下面这些代码是我在linux下编写的,已经运行过了,编译之后就可以运行了。有不足之处希望大家多多指出,共同学习交流。 套接字是一种进程间的通信的方法,不同于以转载 2012-08-17 15:36:08 · 709 阅读 · 0 评论 -
C语言的谜题
原址:http://coolshell.cn/articles/945.html 我们可以看到很多C语言相关的一些东西。比如《语言的歧义》主要告诉了大家C语言中你意想不到的错误以及一些歧义上的东西。而《谁说C语言很简单》 则通过一些看似你从来不可能写出的代码来告诉大家C语言并不是一件容易事情。《6个变态的hello world》和《如何弄乱C的源代码》则以一种极端的方式告诉大家,不要以为咱转载 2012-08-14 17:01:01 · 832 阅读 · 0 评论 -
常见typedef 用法
原址:http://www.52rd.com/Blog/Detail_RD.Blog_liuyahui_21778.html1.常规变量类型定义例如:typedef unsigned char uchar描述:uchar等价于unsigned char类型定义 uchar c声明等于unsigned char c声明2.数组类型定义例如: typedef int转载 2012-08-14 08:15:33 · 410 阅读 · 0 评论 -
C语言中#if,#ifdef
原址:http://www.chineselinuxuniversity.net/articles/52653.shtml一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译。 条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else转载 2012-08-14 10:36:19 · 872 阅读 · 0 评论 -
让你的 C 程序更有效率的 10 种方法
原文地址:http://blog.chinaunix.net/space.php?uid=26495963&do=blog&id=3062636任何代码的美丽不仅在于找到一个给定的问题的解决方案,但在它的简单性,有效性,紧凑性和效率(内存)。设计的代码比实际执行更难 。因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中。 本文向你介绍规范你的C代转载 2012-05-10 23:39:21 · 383 阅读 · 0 评论 -
C语言中volatile关键字的作用
原文地址:http://blog.csdn.net/tigerjb/article/details/7427366一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水转载 2012-04-16 12:47:56 · 495 阅读 · 0 评论 -
指向常量的指针和指针常量
转自:http://blog.sina.com.cn/s/blog_62fd444301013jbz.html1. 指向常量的指针char ch[5] = “lisi”;我们先定义了一个字符数组,它有五个元素,我们用一个常量的字符串对它进行了赋值,要注意的是,这种赋值形式只能在数组定义的同时进行,为什么这里我们定义的5个元素则不是4个元素的字符数组呢?要注意,对于常量字符串来说转载 2012-03-23 15:55:50 · 567 阅读 · 0 评论 -
C:数据类型
1. 基本数据类型: 字符类型:char 整型:short,int,long 浮点型:float,double 基本数据类型是我们写程序过程中用的最多的。其实,我认为使用重定义以后的数据类型会更好。2. 重定义后的数据类型: 字符类型:int8_t,uint8_t 整型:int16_t,uint16_t,int32_t,uint32_...原创 2019-07-11 18:12:07 · 221 阅读 · 0 评论