C
本心_
行动派
展开
-
C语言字符串测试
今天写代码用到了字符串,需要利用字符串结尾符'\0'判断是否遍历完毕,然后产生了相应的困惑1.字符串数组是否都具有结尾符?2.二维字符串数组每一行是否等同于一维字符串数组? 首先说结论:c语言字符串数组都具有结尾符'\0';二位字符串数组每一行等同于一维字符串数组; 运行一下测试代码:#include <cstdio>using namespace...原创 2019-02-21 14:03:30 · 477 阅读 · 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 · 1932 阅读 · 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 · 2380 阅读 · 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 · 139 阅读 · 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 · 453 阅读 · 0 评论 -
深入 char * ,char ** ,char a[ ] ,char *a[]
1 数组的本质 数组是多个元素的集合,在内存中分布在地址相连的单元中,所以可以通过其下标访问不同单元的元素。 2 指针。 指针也是一种变量,只不过它的内存单元中保存的是一个标识其他位置的地址。。由于地址也是整数,在32位平台下,指针默认为32位。。 3 指针的指向? 指向的直接意思就是指针变量所保存的其他的地址单元中所存放的数据类型。 int ...转载 2018-09-30 16:07:00 · 171 阅读 · 0 评论 -
c 程序内存分配管理
首先澄清几个概念,给变量分配内存空间可分为静态内存分配和动态内存分配。静态内存分配属于编译时给变量分配的空间,动态分配属于在程序运行时给变量分配的空间静态分配属于栈分配,动态分配属于堆分配运行效率上,静态内存比动态内存要快int a[10] 属于静态分配int a[n] 或 int *a; a = (int*)malloc(sizeof(int)*n) 属于动态分配一般...转载 2018-09-23 15:44:33 · 9128 阅读 · 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 · 188 阅读 · 0 评论