易截截图软件、单文件、免安装、纯绿色、仅160KB

c语言基础(是时候补补c的基础了)

看数据结构裢栈的时候写了这么一段代码
#include<stdio.h>
#include<stdlib.h>
struct linkstack
{
int data;
struct linkstack *next;
};
int initstack(linkstack * S)
{
S = (linkstack *)malloc(sizeof(linkstack));
if(S == NULL) return 0;
S->next = NULL;
return 1;
}
int main(int argc,char **argv)
{
linkstack S;
if(initstack(&S))
printf("initstack success!!!\n");
return 0;
}
结果编译后就出现了这些错误
@-laptop:~/makeprog/stack$ gcc -g -o linkstack main.c
main.c:11: error: expected ‘)’ before ‘*’ token
main.c: In function ‘main’:
main.c:22: error: ‘linkstack’ undeclared (first use in this function)
main.c:22: error: (Each undeclared identifier is reported only once
main.c:22: error: for each function it appears in.)
main.c:22: error: expected ‘;’ before ‘S’
main.c:23: error: ‘S’ undeclared (first use in this function)
想了一下估计是这个结构体定义的问题,就改成这样
typedef struct node
{
int data;
struct linkstack *next;
}linkstack;
编译通过
然后找一下原因
第一种方式定义了一个全局
的结构体,然后在main()函数中用它来定义一个变量,所以不可以。第二种方式用了typedef,查查它的用法
               typedef
为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct
等)。
  在编程中使用typedef
目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。
但是还是不能分析出来到底什么原因,问问群里的朋友


相关文档:

用C写的3D迷宫

          Boss说,要看OpenGL,看了快一个月,总算出了个像样的东西,用C写了个3D迷宫,
虽然只有350行
       代码,不过边学边写,足足写了一周时间,还是小有成就感的,活活活!
         &n ......

CRT (C run time library)

一 产生 运行时库是程序在运行时所需要的库文件,通常以LIB或DLL形式提供。 C运行时库就是C run-time library,诞生于20世纪70年代,是C而非C++语言世界的概念,C程序运行时需要这些库中的函数。 C 语言是所谓的“小内核”语言,就其语言本身来说很小(不多的关键字,程序流程控制,数据类型等)。所以,C语言内核开发出 ......

C#中一些字符串操作的常用用法,c#编码和解码

//获得汉字的区位码
  byte[] array = new byte[2];
  array = System.Text.Encoding.Default.GetBytes("啊");
int i1 = (short)(array[0] - ''\0'');
  int i2 = (short)(array[1] - ''\0'');
//unicode解码方式下的汉字码
  array = System.Text.Encoding.Unicode.GetBytes("啊");
  i1 = (short)(arra ......

C# 调用 c++ dll 的一些问题总结

1.c++的到处函数只要在函数申明的时候加个导出关键字就可以了
2.参数类型问题,
一般的c++中char * 对应 c#中的string
而c++中 char **类型的参数对应c#中 ref string 这种一般都是用来返回字符串的!
3.函数入口问题,一般会出现 "找不到入口点" 这个问题不是由你引起的,而是系统自己把名字改了,改成什么样的名字建议你用 ......

c调用api打开文件对话框

#include <windows.h>
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd )
{
OPENFILENAME ofn;
//在内存中开辟一块空间,存放用户选取的文件名
char szFile[MAX_PATH];//MAX_PATH ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号