
C
本心_
程序猿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言字符串测试
今天写代码用到了字符串,需要利用字符串结尾符'\0'判断是否遍历完毕,然后产生了相应的困惑 1.字符串数组是否都具有结尾符? 2.二维字符串数组每一行是否等同于一维字符串数组? 首先说结论:c语言字符串数组都具有结尾符'\0';二位字符串数组每一行等同于一维字符串数组; 运行一下测试代码: #include <cstdio> using namespace...原创 2019-02-21 14:03:30 · 501 阅读 · 0 评论 -
c语言复数 运用模板
#include <stdio.h> #include <complex.h> int main(void) { // complex double k = 1.0+2.0*_Complex_I; //可能原因是编译器还在默认沿用c89标准所以无法编译通过(编译器 Dev-C++ 5.11、Code::Blocks 17.12) __complex__ do...原创 2018-12-23 19:32:50 · 1977 阅读 · 2 评论 -
const int *a与int *const a,const int *const a的区别
关键问题点:const 属于修饰符 ,关键是看const 修饰的位置在那里 1、const int *a 这里const 修饰的是int,而int定义的是一个整值 因此*a 所指向的对象 值 不能通过 *a 来修改,但是 可以重新给 a 来赋值,使其指向不同的对象 eg: const int *a = 0; const int b = 1; int c =...转载 2018-10-21 21:19:31 · 2423 阅读 · 0 评论 -
函数指针数组
函数指针数组:以指向函数的指针为元素的集合,各函数的参数列表和返回类型必须完全一致。 #include <stdio.h> int add(int a) { return a++; } int sub(int a) { return a--; } int (* arr[])(int) = {add,sub}; //第一个int是函数的类型,第二个括号是函数的参数列表 ...原创 2018-10-20 19:28:28 · 167 阅读 · 0 评论 -
malloc动态申请一个二维数组的两种方法
方法一:利用二级指针申请 #include <stdio.h> #include <malloc.h> const int num = 2; int main() { int **a = (int**)malloc(num*sizeof(int*)); for (int i = 0; i < num; i++) a[i] = (int*)malloc(...原创 2018-10-22 20:58:18 · 497 阅读 · 0 评论 -
深入 char * ,char ** ,char a[ ] ,char *a[]
1 数组的本质 数组是多个元素的集合,在内存中分布在地址相连的单元中,所以可以通过其下标访问不同单元的元素。 2 指针。 指针也是一种变量,只不过它的内存单元中保存的是一个标识其他位置的地址。。由于地址也是整数,在32位平台下,指针默认为32位。。 3 指针的指向? 指向的直接意思就是指针变量所保存的其他的地址单元中所存放的数据类型。 int ...转载 2018-09-30 16:07:00 · 197 阅读 · 0 评论 -
c 程序内存分配管理
首先澄清几个概念, 给变量分配内存空间可分为静态内存分配和动态内存分配。 静态内存分配属于编译时给变量分配的空间,动态分配属于在程序运行时给变量分配的空间 静态分配属于栈分配,动态分配属于堆分配 运行效率上,静态内存比动态内存要快 int a[10] 属于静态分配 int a[n] 或 int *a; a = (int*)malloc(sizeof(int)*n) 属于动态分配 一般...转载 2018-09-23 15:44:33 · 9226 阅读 · 1 评论 -
函数指针测试示例
// File Name: fun_poin_test.c // Author: JonnyOu // Created Time: Sat 23 Feb 2019 11:22:53 AM CST /* *函数指针测试示例 * * */ #include <stdio.h> int fun_poin(int (*fp)(int , int ), int , int ...原创 2019-02-23 15:06:17 · 221 阅读 · 0 评论