
c/c++
c/c++专栏
zzti_bsj
没有可以抵达的巅峰
展开
-
c语言 - 如何使用结构体和结构体指针?
正确使用结构体和结构体指针 通过malloc开辟的一组地址空间是可以通过下标取值的,这段代码,使用malloc开辟一组结构体类型的地址空间,然后通过下标进行取值。 创建结构体节点,直接通过.运算符赋值 开辟一组结构体动态空间,通过下标的方式赋值 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; int main(){ // 创建一个node节点 struct原创 2021-03-28 01:13:10 · 377 阅读 · 0 评论 -
char指针 - 字符串拼接
char指针 - 字符串拼接 指针只是代表某一段空间的地址,这段空间可以只有一个或者有多个; char指针 - 这个是在一个字符串之后拼接另一个字符串的DEMO #include<stdio.h> #include<stdlib.h> int main(){ char * t = malloc(sizeof(char)*10); char * res = malloc(sizeof(char)*100); char * tmp = res; while原创 2021-01-29 17:25:49 · 1304 阅读 · 0 评论 -
char指针 - 循环向同一个地址赋值
使用一个字符串变量循环输入 #include<stdio.h> #include<stdlib.h> int main(){ // 定义一个指针,并开辟空间,字符数组和字符同理 char * t = malloc(sizeof(char)*100); // 多组输入,用来测试输入的结果 while(scanf("%s",t)!=EOF){ printf("%s\n",t); } } 如果另一个指针变量为NULL,那么相当于强原创 2021-01-29 16:51:57 · 332 阅读 · 0 评论 -
结构体 - 定义结构指针
结构指针 typedef struct { // elem / minval int elem[20005]; int minval[20005]; // stack int elem_top; int min_top; int cur_min; } MinStack; // 定义结构指针 MinStack *m = (MinStack *)malloc(sizeof(MinStack)); // 类似于基本类型的指针声明规则,如int int *原创 2020-12-01 12:21:05 · 449 阅读 · 0 评论 -
c指针动态分配内存
c指针动态分配空间 realloc() malloc() calloc() 三种分配内存的方式 需要注意的问题原创 2020-10-19 09:40:39 · 623 阅读 · 0 评论 -
数组形式的首地址不可执行++和--操作
数组形式的首地址不可执行++和–操作 虽然数组名代表首地址,但是不可以像指针一样执行++和--操作。 数组形式的首地址不可执行++和–操作 lvalue required as increment operand #include <stdio.h> #include <stdlib.h> int main() { char temp[100]; *temp = '1'; temp++; // 这段代码是错误的,数组名代表的指针是不可以执行++操原创 2020-10-18 01:36:42 · 632 阅读 · 0 评论 -
“字符串的结束标志是‘\0‘,编译器自动在字符串末尾添加”
“字符串的结束标志是’\0’,编译器自动在字符串末尾添加” 探究:“字符串的结束标志是’\0’,编译器自动在字符串末尾添加” 编译器:编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序 int main() { // 1. 申请地址 // 调用malloc分配空间,malloc的返回值是该地址块的首地址或者NULL(当申请失败时为NULL) char *brr = malloc(3*sizeof(char)); //原创 2020-10-17 20:43:07 · 1462 阅读 · 0 评论 -
C语言 - 指针
这篇文章只是个引子,我会出一系列指针相关的文章解析指针,欢迎各位与我一起接受指针的折磨(手动滑稽) 记住, 未开辟的地址不用!干啥之前都先“申请地址”。 不要试图掌握无法预料的事情。 那什么叫做开辟过的地址呢? //如下都是申请过的地址 // num、arr 超出一百的不用,这个不用说了吧,数组的下标在[0,99]区间 int num[100]; char arr[100]; // malloc开辟的空间也是线性连续的(这里的空间指虚拟地址空间,而不是物理地址空间 ->来自操作系统知识) // 超原创 2020-10-17 19:48:09 · 171 阅读 · 0 评论 -
C语言,字符串传参之实参传的是什么
看下面这段代码 #include<stdio.h> void test(char *a){ //输出a的值,猜想a中存储的时res的地址 printf("这是res地址值1-%x\n",&a); //printf("%d\n",sizeof(a)); //a形参根据存储的res的地址的值取寻找res存储的字符串内容 //printf("%s\n",a); } int main(){ char res[256] = "1234567887原创 2020-09-22 00:11:38 · 1060 阅读 · 0 评论 -
与char变量的再次会晤
与char变量的再次会晤 #char型变量+ASCII码+字符 #坚持看完,巩固字符的学习 这次我想说的是,有关char变量与ASCII码以及参与数学运算和逻辑运算的关系。 这次我请来了ASCII码,才得以顿悟赋值给字符型变量单个字符和ASCII码(数字)的关系。终于从懵逼中解脱。 ASCII码分为控制字符和打印字符,这次与char型打交道,我请来了ASCII码中的打印字符。(因为我跟控制字符从...原创 2019-03-01 15:20:07 · 167 阅读 · 0 评论