![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
tree
文章平均质量分 52
小怪天然
emmm……
展开
-
C语言—返回一个数二进制中1的个数
1.写一个函数返回参数二进制中 1 的个数 代码1:int main(){ int num = 0; int count = 0; scanf("%d", &num); while (num) { //此处不能写为if(num%2! = 0) if (num % 2 =...原创 2017-11-17 22:25:30 · 363 阅读 · 0 评论 -
C语言--结构体的内存对齐规则
为什么存在内存对齐?大部分的资料都是这样说的:1. 平台原因(移植问题):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。2. 性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因是,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。总结:结构体的内存对齐是拿空间来换时间的做法;结构体的...原创 2018-03-08 10:57:36 · 275 阅读 · 0 评论 -
C语言——判断存储类型是大端还是小端
判断当前机器的字节序。思路:存1,取出第一个字节的内容: 若为小端,则为 01 00 00 00 … ;低地址为1 若为大端,则为00 00 00 0原创 2018-01-05 10:32:26 · 387 阅读 · 0 评论 -
函数的调用过程,栈帧的创建与销毁
以下面一段代码为例,说一说函数的调用过程,栈帧的创建与销毁。这段代码要在VC6.0下调试,因为VC6.0对这部分的处理简单些,利于学习使用。#includeint Add(int x, int y){ int z = 0; z = x + y; return z;}int main(){ int a = 258; int b = 20; int ret = Add(原创 2017-12-07 11:42:18 · 308 阅读 · 0 评论 -
不使用(a+b)/2这种方式,求两个数的平均值。
不使用(a+b)/2这种方式,求两个数的平均值。 举个例子,a有15块钱,b有5块钱,使a和b的钱数相等。算法1:把a和b的钱放一起,你一张我一张的分,就是(a+b)/2 #includeint main(){ int a = 15; int b = 5; printf("%d\n", (a + b) >> 1); system("pause");}//这种算法原创 2017-12-05 22:33:40 · 1355 阅读 · 2 评论 -
C语言——三子棋
game.h#ifndef _GAME_H_#define _GAME_H_#include<stdio.h>#include<stdlib.h>#include<string.h>#define ROWS 3#define COLS 3void InitBoard(char board[ROWS][COLS], int row, int col);void DisplayBoard(ch原创 2017-12-05 09:32:18 · 203 阅读 · 0 评论 -
C语言--有关数组的计算
关于数组,一些必会的数组运算//一维数组int a[] = {1,2,3,4}; printf("%d\n",sizeof(a)); // 4*4=16printf("%d\n",sizeof(a+0)); // 4printf("%d\n",sizeof(*a)); // 4printf("%d\n",sizeof(a+1));原创 2017-12-02 20:02:18 · 859 阅读 · 0 评论 -
C语言——使用函数指针数组实现简单的计算器
函数指针数组的用途:转移表;下面是利用函数指针数组来实现一个简单的计算器:#define _CRT_SECURE_NO_WARNINGS 1#include#includeint my_add(int x, int y){ return x + y;}int my_sub(int x, int y){ return x - y;}int my_mul(int x, i原创 2017-12-19 22:26:30 · 2118 阅读 · 0 评论 -
C语言操作符
1.算术操作符 + - * / %(1)%操作符必须为整形操作数;(2)/一边为浮点型,则结果为浮点型。2.移位操作符 (1)左移操作符: (2)右移操作符:>> 分为逻辑移位(左边补0),算术移位(左边补符号位);例:int num=-1; //操作数在内存中以补码的形式存在 num>>1;//逻辑移位:原创 2017-11-16 21:04:18 · 132 阅读 · 0 评论 -
hello,博客。
是的,入乡随俗。这是我的第一篇博客,hello,博客。#includeint main(){ printf("hello,博客。\n"); return 0;}奉上小黑子以表敬意。原创 2017-11-05 10:51:04 · 789 阅读 · 0 评论 -
指针数组、数组指针、函数指针、函数指针数组……概念理解
指针数组 :是数组,是一个存放指针的数组; 跟谁先结合就是谁,例如:int *arr1[] //[]的优先级高,先于[]结合,为数组;数组指针 :是指针;例如:int (*p)[10]; 例子: int arr[10]={0}; int *p1=&arr; //ok? 警告! &arr是数组指针,p1是整型指针,类型不匹配 int (*p2)[10]=&a...原创 2018-02-25 23:00:12 · 152 阅读 · 0 评论