摘要:
一个函数在编译时被分配给一个入口地址。这个函数的入口地址就被称为函数指针。 #include<stdio.h> #include<iostream> int max(int, int); int main() { int (*p)(int,int); int a, b, c; p = max; pr 阅读全文
posted @ 2019-12-30 21:24
西西嘛呦
阅读(449)
评论(0)
推荐(0)
摘要:
C语言不支持在注释中嵌入注释,此时可以利用#if #endf,举个例子: #include<stdio.h> #include<iostream> #if(0) int main() { char* b; b = (char*)"hello"; printf("%c\n", b[2]); syste 阅读全文
posted @ 2019-12-30 20:51
西西嘛呦
阅读(1162)
评论(0)
推荐(0)
摘要:
1.字符数组由若干个元素组成,每个元素中放一个字符,而字符指针变量中存放的是地址(字符串第一个字符的地址),而不是将字符串放到字符指针变量中。 2.赋值方式。对字符数组只能对各个元素进行赋值,不能用以下办法对字符数组进行赋值。 char str[20]; str = "ni hao a"; 而对于字 阅读全文
posted @ 2019-12-30 20:37
西西嘛呦
阅读(1117)
评论(0)
推荐(1)
摘要:
第一种: #include<stdio.h> #include<iostream> void copy_string(char* p1, char* p2) { for (; *p1 != '\0'; *p1++,*p2++) { *p2 = *p1; } *p2 = '\0'; } int mai 阅读全文
posted @ 2019-12-30 20:18
西西嘛呦
阅读(2999)
评论(0)
推荐(0)
摘要:
1.使用数组下标进行复制 #include<stdio.h> #include<iostream> void copy_string(char str1[], char str2[]) { int i = 0; while (str1[i] != '\0') { str2[i] = str1[i]; 阅读全文
posted @ 2019-12-30 20:05
西西嘛呦
阅读(6106)
评论(0)
推荐(1)
摘要:
第一种:下标法。 #include<stdio.h> #include<iostream> int main() { //该形式下,字符串实际上是一种字符数组 char str1[] = "hello world",str2[30]; printf("%d\n",str1);//获取字符数组首个元素 阅读全文
posted @ 2019-12-30 19:40
西西嘛呦
阅读(2470)
评论(0)
推荐(0)
摘要:
意思很明确const char* 和char *类型不匹配 解决的方法有三种: 第一种:在visual studio中,在项目上右键,在弹出菜单上选择“属性”,选择“C/C++”,然后在“语言”中,把“符合模式”改为“否”就好了。 第二种:使用强制类型转换: //有问题代码char *str2 = 阅读全文
posted @ 2019-12-30 19:05
西西嘛呦
阅读(13610)
评论(0)
推荐(5)
摘要:
假设有这么一个数组:int a[3][4] = {{1,3,5,7},{9,11,13,15},{17,19,21,23}} 表示形式 含义 地址 a 二维数组名,指向一维数组a[0],即0行的首地址 假设首地址为2000 a[0], *(a+0) *a 0行0列元素地址 2000 a+1,&a[1 阅读全文
posted @ 2019-12-30 16:55
西西嘛呦
阅读(1454)
评论(2)
推荐(0)
摘要:
如何使用指针对二维数组进行遍历? 首先我们需要明确的是:二维数组在内存中是连续的,比如一个二维数组int a[2][3]={1,2,3,4,5,6},可以视作是两个一维数组构成的,即int a0[3] ={1,2,3},int a1[3] = {4,5,6},我们知道,一维数组在内存中是连续的一块内 阅读全文
posted @ 2019-12-30 16:37
西西嘛呦
阅读(1470)
评论(0)
推荐(0)
摘要:
1.形参和实参都用数组名。 2.实参采用数组名,形参采用指针变量。 3.实参和形参都采用指针变量。 4.实参为指针变量,形参为数组名。 #include<stdio.h> #include<iostream> //第一种方式 //注意传入的是a[],而不是a void change(int a[]) 阅读全文
posted @ 2019-12-30 16:09
西西嘛呦
阅读(13337)
评论(0)
推荐(5)
摘要:
#include<stdio.h> #include<iostream> void reverse(int* a, int length) { int* p, temp, * i, * j, m; m = (length - 1) / 2;//取得中间的下标 i = a;//i指向数组的首元素 j 阅读全文
posted @ 2019-12-30 15:54
西西嘛呦
阅读(2801)
评论(0)
推荐(0)
摘要:
假设现在我们有这么一个数组: int a[5] = { 1,2,3,4,5 }; 第一种方式:直接通过下标遍历。 for (int i = 0; i < 5; i++) { printf("%d\n", a[i]); } 第二种方式:数组名就是首元素的地址,因此通过数组名,使用*获取其中的值的方式来 阅读全文
posted @ 2019-12-30 15:16
西西嘛呦
阅读(16234)
评论(0)
推荐(0)
摘要:
假设现在我们有以下数组: int a[5] = { 1,2,3,4,5 }; 那么,在C语言中如何取得数组中的元素呢? 第一种方式:直接通过下标获取 //取得第0个元素 printf("%d\n", a[0]); 第二种方式:通过数组的地址,在C语言中,数组的名称实际上就是该数组首个元素的地址,可以 阅读全文
posted @ 2019-12-30 15:07
西西嘛呦
阅读(10687)
评论(0)
推荐(0)