C语言
Souseiki
心里有座坟。。。
展开
-
C语言结构体学习系列之(一)
(一)定义结构体的三种方法: 1:定义结构体类型,然后定义变量。例:struct Teacher{ char name[64]; int age; int id;};void main(){ struct Teacher t1;}或者是使用typedef定义结构体类型,例:typedef struct Teacher{ char name[64];原创 2015-08-08 12:53:02 · 375 阅读 · 0 评论 -
C语言结构体学习系列之(二)
1,结构体做函数参数,应该注意的是,再被调用函数中改变结构体的值与普通变量的方法一样,不能直接定义两个普通形参接收,然后修改形参,这只是修改了形参的值,正确的方法是定义一个指针,然后把结构体地址传给指针,然后用指针进行修改。例:void copyTeacher(T to, T from){ to = from;}void copyTeacher2(T *to, T *fro原创 2015-08-08 15:15:33 · 340 阅读 · 0 评论 -
指针函数与函数指针的区别
转自:http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参转载 2015-08-08 15:17:56 · 262 阅读 · 0 评论 -
typedef的用法详解
如何创建平台无关的数据类型,隐藏笨拙且难以理解的语法? 使用typedef为现有类型创建同义字,定义易于记忆的类型名 1 typedef int size; 1 2 3 4 5 6 7 8 9 10 void measure(size*psz);size array[4];size len=file.getlength();std::vectorvs; typedef原创 2015-08-05 14:13:40 · 1345 阅读 · 0 评论 -
C语言中对const的理解
const的作用是限定一个变量不能被修改。 对const的理解: (1)int const a;const int b;这两句是相等的。(2)const char *p1;char * const *p2;const char * const p3;第一句的意思是指针p1所指向的内存空间不能被修改,如:p1[1] = 'a'; //错误*p = 'a'; //错误p原创 2015-08-04 11:26:56 · 497 阅读 · 0 评论 -
避免野指针的产生
1,所谓野指针就是:指向一个已删除的对象或未申请访问受限内存区域的指针。 避免方法:在使用free释放指向内存空间之后载加上一个 p = NULL; 例: if (p2 != NULL) { free(p2); p2 = NULL; }voi原创 2015-08-03 16:19:54 · 484 阅读 · 0 评论 -
VS2013调试错误
1:提示:Run-Time Check Failure #2 - Stack around the variable ‘buf2’ was corrup 解决办法:buf2数组越界,增大数组容量。原创 2015-08-03 16:08:34 · 468 阅读 · 0 评论 -
详解二级指针
在使用指针时, *意思是取一个地址指向的内容, &意思是取一个变量的地址。#define _CRT_SECURE_NO_WARNINGS #include <stdlib.h>#include <stdio.h>#include <string.h>int a = 10;int b = 100;int *p1 = &a;void change(int **p2){ *p2原创 2015-08-02 20:19:55 · 502 阅读 · 0 评论 -
字符串拷贝操作
#include <stdio.h>#include <stdlib.h>void copy_str(char *from, char *to){ while(*from!='\0') { *to++ = *from++; } *to = '\0'; // **①**}void main(){ char *from = "I am a原创 2015-08-02 19:54:04 · 625 阅读 · 0 评论 -
结构体内嵌一级指针
例程如下:#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include <stdlib.h>typedef struct Teacher{ char name[64]; char *alisname; int age;}Teacher;int creatTeacher(Teacher **p, int num)原创 2015-08-08 17:05:59 · 410 阅读 · 0 评论 -
大数据的乘法的原理和实现
大数据乘法算法步骤如下:1. 计算被乘数各个位上与乘数各个为的积,按位错开。如下面:先计算被乘数的个位(5*9 = 45,4*9 = 36……1*9 = 9),然后错开一位,计算被乘数的十位(1*5 = 5,……1*1=1)。2. 把各位的加起来(将个位和十位计算的乘积按位相加,如45+0 = 45,36+5 = 41,……,1+0 = 1)3. 十位进位,取个位,如 (45对10取模等于4,所原创 2015-11-15 22:04:52 · 2124 阅读 · 0 评论