C语言
Ethan2048
这个作者很懒,什么都没留下…
展开
-
结构体内存对齐
基本对齐原则1)结构体内成员按自身按自身长度自对齐(该成员的起始位置的内存地址必须是它自身长度的整数倍)。2)结构体的总大小为结构体的有效对齐值的整数倍结合以上原则,可以知道char - 位于1的整数倍地址,也就是从0-9(几任何起始地址)short - 位于2的整数倍地址,也就是0、2、4...这类地址int - 位于4的整数倍地址,也就是0、4、8.....原创 2018-11-19 18:27:54 · 165 阅读 · 0 评论 -
高级指针类型判断
Q. 解释下列声明的含义1.int *x[10] 2.int (*x)[10] 3.int (*x[10])(int) 4.int (*x)(int)A.以上各个声明含义如下1.一个含有10个指针的数组,每个指针指向一个int类型数(declare x as array 10 of pointer to int)2.一个指针,指向含有10个int类型的数组(...原创 2018-11-19 14:50:32 · 527 阅读 · 0 评论 -
大小端的判断
定义如下:大端: 数据高字节存放在内存低地址小端: 数据高字节存放在内存高地址判断方法1. 使用联合体#include <stdio.h>union _x_ { short a; char b;} x;int main(void){ x.a = 0x1122; printf("%s\n", (0x11 == x.b)?"Big":"Lit"); re...原创 2018-11-22 12:01:59 · 187 阅读 · 0 评论 -
C语言中函数的思考(可以返回局部变量吗)
原文地址: https://blog.csdn.net/u012252959/article/details/79346146一般的来说,函数是可以返回局部变量的。局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了,因此如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针...转载 2018-11-22 18:13:20 · 1475 阅读 · 1 评论 -
手写字符串函数《一》
主要包括strcpy、strcat、strcmp、strlen、strchr、strstr#include <stdio.h>#include <stdlib.h>char *strcpy(char *dest, const char *src){ char *tmp = dest; while ((*dest++ = *src++) != '\0')...原创 2018-11-23 10:02:18 · 427 阅读 · 0 评论 -
手写字符串函数《二》
主要包括strncpy、strncat、strncmp、strnlen、strnchr、strnstr#include <stdio.h>#include <stdlib.h>char *strncpy(char *dest, const char *src, size_t count){ char *tmp = dest; while (count) ...原创 2018-11-23 10:18:26 · 233 阅读 · 0 评论 -
手写内存操作函数
主要包括memset、memcpy、memmove、memcmp、memscan、memchr#include <stdio.h>#include <stdlib.h>void *memset(void *s, int c, size_t count){ char *xs = s; while (count--) *xs++ = c; return...原创 2018-11-23 10:24:30 · 456 阅读 · 0 评论