
C
ic_tv
这个作者很懒,什么都没留下…
展开
-
C语言中数组作为函数参数的问题
一:综述 C语言中数组作为函数参数运行的时候, 函数在执行的过程中,数组参数是否像其他类型的参数(例如:int类型)不发生改变的执行呢? 我们首先看一个示例,然后观看他的打印结果,然后分析原因二,代码示例和运行结果/*C语言中 数组作为函数参数退化为指针我们以打印数组的为例, 数组作为打印函数的参数*/#include "stdafx.h"#include<stdio.h>/*原创 2015-07-02 00:04:58 · 1916 阅读 · 0 评论 -
C语言一个关于文件操作的示例
一,示例需求介绍 介绍一个关于C语言的文件操作的例子. 在磁盘某个位置存放某个文件, 该文件用来保存输入的键值对(key-value). 例子具有以下功能1,持久化的按行存放键值对(key-value),不支持重复的key 2,根据key查找对应的value , 查到对应的value显示, 不存在提示 3,退出功能二,思路 <一> 根据需求我们需要封装两个功能”库函数” 提供存放//存原创 2015-07-20 22:36:04 · 537 阅读 · 0 评论 -
结构体的浅copy和深copy
<一>浅复制 关于结构体的浅copy和深copy问题,下面先看一个示例 定义一个Teacher类型结构体, 然后定义变量t1,t2, 对t1进行初始化,然后通过copyStruct函数将t1赋值到t2 代码如下:#include "stdafx.h"#include<stdlib.h>#include<stdio.h>#include<string.h>#define _CRT_SEC原创 2015-07-19 18:10:05 · 621 阅读 · 0 评论 -
一个结构体的示例
定义一个结构体Teacher类型, 然后声明一个Teacher数组 ,Teacher包含名字和数据. Teacher数组元素在堆空间开辟 , 然后输入名字年龄,接下来打印输入的内容, 再然后释放开辟堆的内存代码如下:#include"stdafx.h"#include<stdio.h>#include<string.h>#include<stdlib.h>#define _CRT_SEC原创 2015-07-19 15:17:48 · 666 阅读 · 0 评论 -
C语言定义数组指针的三种方法
C语言定义数组指针的三种方法C语言中有一种语法叫做数组指针,就是使用一个指针变量指向一个数组,然后对数组进行访问操作. 下面给出代码示例定义的方法, 代码如下:#include<stdio.h>int main(){ //定义数组指针的第一种方法 { printf("=====================================\n");原创 2015-07-14 22:47:30 · 17985 阅读 · 0 评论 -
C语言中结构体的声明方式
在C语言中结构体可以帮助我们自定义数据类型,使我们的编程趋于灵活. 数据类型的本质是一块固定大小的内存空间. 下面我们介绍结构体的声明方式一,结构体声明方式一//结构体声明 在声明的时候对结构体重命名typedef struct Teacher{ char tName[64]; int tAge;}Teacher;//结构体类型引用Teacher t;二,结构体声明方式二/原创 2015-07-16 22:59:40 · 1996 阅读 · 0 评论 -
C语言递归实现字符串翻转
一,C语言递归实现字符串逆转 简单的实现”abc”的逆转 函数原型:void reverse(char* value,char* result) char* value为待逆序字符串 char* result为存放的逆序结果1,首先判断是否value是否为空和value是否是字符串结尾条件 条件不满足则return2,value+1 前移一个字符,递归调用reverse函数3,将value原创 2015-07-08 00:17:47 · 2406 阅读 · 0 评论 -
C语言非递归实现字符串逆转
一,非递归方式实现一个字符串”abcdefg”逆转. 我们可以按照如下步骤进行: 1,求出这个字符串的长度 2,两个索引 i和j, 初始值i为0,j为字符长度减1 3,然后将两个索引位置的字符交换,然后i加1,j减1. 4,如果i小于j那么重复3二,步骤图示: 三,代码如下:#include "stdafx.h"#include<string.h>void reverseStr_1(原创 2015-07-07 22:39:44 · 797 阅读 · 0 评论 -
C语言中返回局部变量或临时变量的地址的错误
先看如下代码, 在编译运行的时候会抛出警告——-warning C4172: 返回局部变量或临时变量的地址,并且在main函数中的打印结果不符合我们的预期代码如下:int* visitArea(){ int a = 10; return &a;}int main(){ int* a = visitArea(); printf("%d\n", *a); pr原创 2015-07-06 16:13:41 · 5128 阅读 · 1 评论 -
C语言程序内存四区(栈区,堆区,全局区,代码区)
一,综述 在C语言程序中, 代码在内存中进行执行的时候,我们粗略的将程序所占用的内存分为四个区域—-栈区,堆区,全局区,代码区. 每个程序都有唯一的四个内存区域.我们需要熟悉和了解各个区域的特性,例如存储什么类型的数据, 有谁去申请开辟, 又有谁去管理释放等等二,内存四区介绍<一>栈区 由编译器自动分配释放, 存放函数的参数值,局部变量等. 例如: 参数buf,参数bufsize和siz原创 2015-07-02 01:27:32 · 8365 阅读 · 0 评论 -
一个关于数据类型的问题
一, 首先先一个很小的示例,然后观看他的打印结果示例代码:`/* 一个示例的数组类型的思考 */include “stdafx.h”includeb=2489524, b+1=2489528&b=2489524, &b+1=2489564请按任意键继续. . .二,结果和分析 b=2489524和b+1=2489528 相差4,刚好一个整形数组 &b=2489524和&b+1=24原创 2015-07-02 01:05:51 · 417 阅读 · 0 评论 -
7,Reverse Integer
/*Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321*/#include#define INT_MAX 2147483647l#define INT_MIN -2147483648lint reverse(int x原创 2015-10-02 12:44:26 · 413 阅读 · 0 评论