- 博客(17)
- 收藏
- 关注
转载 结构体内存分配问题(转)
结构体内存分配问题(转) sizeof也可以对一个函数调用求值,其结果是函数返回类型的大小,函数并不会被调用 终于搞懂struct结构体内存分配问题了. 结构体中各个成员字节对齐遵循以下几个原则 1.结构体每个成员相对于结构体首地址的偏移量(offset)都是(这个)成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding); 例如有以下一个结构体
2014-02-09 07:22:45
827
原创 Linux常用命令
文件处理 l ls 查看, 参数 –i显示其inum(i结点)(每个文件(软链接除外)都唯一确定的,不重复), .(点)表示当前目录. l mkdir 创建文件夹 l touch 创建空文件 l cp 复制 l mv 移动 l cat 查看文件内容(一次性显示全部,只显示最后一屏的内容) l more 分页式查看(一页一页显示) l ln 创建软连接文件(-s 创建
2014-01-29 04:43:29
601
原创 Linux简单总结之Linux权限
1. Linux权限 r-读权限,w-写权限, x-执行权限 r-4, w-2, x-1 rwxr-xr-- 对应数字 754 rw-r-x--x 对应数字 651 文件 r-cat, more, head, tail w-echo, vi,(只能修改,不能删除) x-命令,脚本 目录 r-ls w-touch, rm, mkdir x-cd
2014-01-28 01:11:47
779
原创 Linux简单总结之Linux系统处理
1. Linux系统处理 Linux所有的操作都有Linux内核进行处理,Linux内容只认识数字不认识字母,所以不管是用户,还是用户组,还是文件,还是进程都需要数字进行标示 比如: 用户——UID 进程——PID 文件——inode
2014-01-28 01:10:34
539
原创 Linux简单总结之命名规则
1. 命名规则 Linux下只有‘/‘不能用作名字,但是通常情况下还有一些不能用作命名的符号 1. 空格不能,因为Linux下命令行是以空格为分隔符的 2. 点’.’不能,因为Linux下一点开头的文件名表示这个文件是隐藏文件 3. Linux下大小写敏感,严格区分
2014-01-28 01:09:49
835
原创 练习5-3&&5-4&&5-5
练习5-3#include #include "chapter_5.h" void Strcat(char *s, char *t) {//5-3 while (*s != '\0' && *t !='\0') { ++s; } while (*t != '\0') { *(s++) = *t; ++t; } } 练习5-4 #include
2014-01-25 19:31:07
1107
原创 第四章计算器程序部分代码,结合练习
为了练习多文件组织编程,同时为了能和后面学习的内容结合起来,这套程序改了很多次,至今还有部分功能未实现。 这套主要由main.c && atof.c && stack.c && getch.c && getop.c 构成,头文件share.h对所有函数及共享变量或者外部变量声明。 share.h #ifndef SHARE_H_INCLUDED #define SHARE_H_INCL
2014-01-25 19:28:33
518
原创 练习4-1,练习4-2
练习4-1 #include #define MAX 100 int Strrindex(char *source, char t); //4-1 void GetLine(char *s); //get string of input int main() { char input[MAX];//input string; int char_t_location; Get
2014-01-23 16:46:24
676
原创 链表的实现
#include #include typedef struct LNode{ int data; struct LNode *next; }LNode, *LinkList; //************************************************************************************* /* Li
2014-01-20 20:25:28
465
原创 练习3-2
#include #define MAX 100 //limited of amount of array's element enum {TAB = '\t', NEWLINE = '\n', END = '\0'}; //3-2 void Escape(char s[], char t[]); void Escape_Reverse(char s[], char t[]); int
2014-01-19 21:15:07
612
原创 以血的教训来谈程序的健壮性&&练习3-3
首先请各位看下面这段代码: #include #define MAX 100 //limited of amount of array's element void Expand(char s1[], char s2[]); int main() { char string_origin[MAX]; char string_transformation[MAX]; int
2014-01-19 21:11:38
639
转载 这样密集的负能量段子,看起来实在是太爽啦!!!
1.又一天过去了。今天过得怎么样,梦想是不是更远了? 2.只要是石头,到哪里都不会发光的。 3.我有位家境一般的朋友,一直觉得如果自己有钱一定会更幸福。后来他妈做婴幼教育发财了。快十年后我见他,问:现在你倒是有钱了,你真的幸福吗?他回答:爽翻啦!我默默地走开了。 4.只有能力强会被当成纯技术人员;而光会社交拍马又会被认为没有真才实学;所以,要想在单位中脱颖而出,最重要的是有
2014-01-17 19:47:27
900
原创 C语言程序设计(第二版),练习2-4&&练习2-5&&练习2-9练习2-10
练习2-4 #include #define MAXLINE 1000 //maximun of amount of array //2-4 void Squeeze(char s1[], char s2[]); int main() { char s1[MAXLINE];//array s1 char s2[MAXLINE];//array s2 int c; i
2014-01-17 19:44:53
1825
原创 由getchar()函数的使用而引发的思考.
今天在做C语言程序设计,练习2-4中,所遇到的问题,在存储输入的字符时,为了方便起见,直接使用不带变量赋值定义的getchar()。 示例错误代码: char s1[]; for(int i=0; i < MAXLINE - 1 && getchar() != EOF; ++i) { printf("s1's i: %d\n", i); s1[i] =getchar();
2014-01-17 14:00:16
664
原创 练习1-22
这个一维数组是用来保存我输入的那些全部字符,就是依次输入的很长的那些字符 这个数组是用来保存分割后的那些一行一行的字符 二维数组 第一维是保存行,第二维是保存每行的全部字符 这里就是把输入的字符按照一行一行的赋值到这个二维数组里面 下面else部分其实是每完成一行的赋值就输出一行 这是我和顾逸同学的一些聊天记录,大家凑和着看吧 另外这个在windows
2014-01-16 23:02:05
775
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人