指针,数组,字符串
无
kyriekk
这个作者很懒,什么都没留下…
展开
-
二维数组与指针
这里通过一个原创 2022-03-13 22:34:16 · 111 阅读 · 0 评论 -
二维数组(行地址与列地址)
#define n 10;对于二维数组a[n][n]1--数组名(a)表示行地址,逻辑意义上并不能表示首元素地址。2--a[0],a[1]叫做列地址,逻辑意义上就表示某行首元素地址。物理上行地址就是某行首元素地址。甚至你用scanf时用行地址也是可以进行赋值的。(因为scanf是传地址的)。但你如果想像a[0][0]=1这样直接进行赋值,只能先将行地址转换成列地址。#include <stdio.h>#define N 10int main() { int a...原创 2022-03-13 11:02:57 · 3702 阅读 · 0 评论 -
二维数组与指针易错题
1--bcd2--bcd3--ad4--bd5--abd原创 2022-03-13 10:31:43 · 92 阅读 · 0 评论 -
遗漏掉的关于字符串,指针以及数组的一些知识(1)
1--注意理解下面的程序---#include <stdio.h>int main() { int a[10]={0}; int *p; p=a; printf("%p\n%p\n",p,p+1); printf("%d",p+1-p);}000000000062FDF0000000000062FDF41--------------------------------Process exited after 0.03679 seconds with ..原创 2022-03-26 12:28:48 · 363 阅读 · 0 评论 -
遗漏掉的关于字符串,指针以及数组的一些知识(2)
1--容易犯的小错误2--原创 2022-03-26 17:17:48 · 204 阅读 · 0 评论 -
遗漏掉的关于字符串,指针以及数组的一些知识(3) (malloc动态内存分配)
引入--------c99是可以用变量做数组定义的大小,c99之前呢?(使用变量做数组定义的大小是基于防止数组溢出,便于修改等目的)。------------ 答案是动态内存分配----------------------int *a=(int*)malloc(n*sizeof(int));2--注意malloc得到的变量是void*类型的,所以得强制类型转换。3--注意要包含头文件#include <stdlib.h>。#include <stdio.h>原创 2022-03-26 17:18:41 · 546 阅读 · 0 评论 -
遗漏掉的关于字符串,指针以及数组的一些知识(4) (字符二维数组)
1-- 首先是字符数组原创 2022-03-27 16:18:05 · 64 阅读 · 0 评论 -
遗漏掉的关于字符串,指针以及数组的一些知识(5) (指针数组和多级指针)
1--首先通过这个例子领悟一下二级指针可以看到二级指针pp指向了一级指针p,所以*pp----二级指针的”值“就是p的地址,如果再*(*pp)就相当于*(p)也就是i的值。#include <stdio.h>int main() { int i=10; int *p=&i; int **pp=&p; printf("%p\n",&i); printf("%p\n",*pp); printf("i=%d\n",i); printf("**pp=%d原创 2022-03-27 17:06:04 · 103 阅读 · 0 评论 -
遗漏掉的关于字符串,指针以及数组的一些知识(6) (字符指针易混点)
#include <stdio.h>#include <stdlib.h>#include <string.h>void GetMemory(char **ptr, int num);int main(void){ char *str; GetMemory(&str, 100); strcpy(str, "hello"); printf("%s\n", str); free(str); return 0;}void GetMemo.原创 2022-04-11 12:29:20 · 489 阅读 · 0 评论